This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Add realpath Prototype


On 2013-11-20 15:35, Joel Sherrill wrote:
On 11/20/2013 8:26 AM, Corinna Vinschen wrote:
On Nov 20 07:38, Joel Sherrill wrote:
On 11/20/2013 3:46 AM, Corinna Vinschen wrote:
On Nov 19 12:42, Corinna Vinschen wrote:
On Nov 18 13:32, Joel Sherrill wrote:
On 11/18/2013 12:33 PM, Yaakov (Cygwin/X) wrote:
On 2013-11-18 12:24, Joel Sherrill wrote:
I added the realpath() prototype more or less where
glibc has it in stdlib.h.

Also added restrict to Linux implementation.

Does this look ok to commit?

Your patch includes a duplicate declaration of qsort().

Fixed. Stupid cut and paste.

Also, Cygwin provides its own prototype of realpath in
its own headers, so either that needs to be removed, or
this prototype placed in a !__CYGWIN__ block; I'll let
Corinna decide which she prefers.

Since this wasn't in newlib, I didn't know about it. I have
  been trusting grep. :)

Whatever Corinna wants to do, I am ok with.

Just apply your patch.  I'll remove the Cygwin definition
afterwards.

FYI, I moved the readline declaration into the following
`#ifndef __STRICT_ANSI__' block, analogue to the old
Cygwin-only declaration.
. Thanks. The guards are tricky. glibc has

#if defined __USE_BSD || defined __USE_XOPEN_EXTENDED

http://pubs.opengroup.org/onlinepubs/9699919799/functions/realpath.html


marks it as XSI with no explicit macros that I am spotting.

Is that close enough?

I don't understand the question.  BSD and XOPEN don't correspond
to strict ANSI.

I was just pointing out that glibc has BSD and XOPEN as guards.
Is that equivalent?

In FreeBSD we have this (<stdlib.h>):

/*
 * Extensions made by POSIX relative to C.  We don't know yet which edition
 * of POSIX made these extensions, so assume they've always been there until
 * research can be done.
 */
#if __POSIX_VISIBLE /* >= ??? */
int	 posix_memalign(void **, size_t, size_t); /* (ADV) */
int	 rand_r(unsigned *);			/* (TSF) */
char	*realpath(const char * __restrict, char * __restrict);
int	 setenv(const char *, const char *, int);
int	 unsetenv(const char *);
#endif

--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber@embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschÃftliche Mitteilung im Sinne des EHUG.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]