X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fstdlib.in.h;h=dd15ac05b9c399005e15d56aa576e9665fcce6da;hb=b1ab442e6db76de2a7315531f6f0ec59c5934368;hp=f05962ea5994612ef47095f87dd82dca0d4b82cb;hpb=d23630c01b90cbd1b713598f3c2c1b06400061b0;p=gnulib.git diff --git a/lib/stdlib.in.h b/lib/stdlib.in.h index f05962ea5..dd15ac05b 100644 --- a/lib/stdlib.in.h +++ b/lib/stdlib.in.h @@ -115,6 +115,21 @@ extern void * calloc (size_t nmemb, size_t size); calloc (n, s)) #endif +#if @GNULIB_CANONICALIZE_FILE_NAME@ +# if @REPLACE_CANONICALIZE_FILE_NAME@ +# define canonicalize_file_name rpl_canonicalize_file_name +# endif +# if !@HAVE_CANONICALIZE_FILE_NAME@ || @REPLACE_CANONICALIZE_FILE_NAME@ +extern char *canonicalize_file_name (const char *name); +# endif +#elif defined GNULIB_POSIXCHECK +# undef canonicalize_file_name +# define canonicalize_file_name(n) \ + (GL_LINK_WARNING ("canonicalize_file_name is unportable - " \ + "use gnulib module canonicalize-lgpl for portability"), \ + canonicalize_file_name (n)) +#endif + #if @GNULIB_GETLOADAVG@ # if !@HAVE_DECL_GETLOADAVG@ /* Store max(NELEM,3) load average numbers in LOADAVG[]. @@ -209,6 +224,31 @@ extern int mkostemp (char * /*template*/, int /*flags*/); mkostemp (t, f)) #endif +#if @GNULIB_MKOSTEMPS@ +# if !@HAVE_MKOSTEMPS@ +/* Create a unique temporary file from TEMPLATE. + The last six characters of TEMPLATE before a suffix of length + SUFFIXLEN must be "XXXXXX"; + they are replaced with a string that makes the file name unique. + The flags are a bitmask, possibly including O_CLOEXEC (defined in ) + and O_TEXT, O_BINARY (defined in "binary-io.h"). + The file is then created, with the specified flags, ensuring it didn't exist + before. + The file is created read-write (mask at least 0600 & ~umask), but it may be + world-readable and world-writable (mask 0666 & ~umask), depending on the + implementation. + Returns the open file descriptor if successful, otherwise -1 and errno + set. */ +extern int mkostemps (char * /*template*/, int /*suffixlen*/, int /*flags*/); +# endif +#elif defined GNULIB_POSIXCHECK +# undef mkostemps +# define mkostemps(t,s,f) \ + (GL_LINK_WARNING ("mkostemps is unportable - " \ + "use gnulib module mkostemps for portability"), \ + mkostemps (t, s, f)) +#endif + #if @GNULIB_MKSTEMP@ # if @REPLACE_MKSTEMP@ /* Create a unique temporary file from TEMPLATE. @@ -234,6 +274,28 @@ extern int mkstemp (char * /*template*/); mkstemp (t)) #endif +#if @GNULIB_MKSTEMPS@ +# if !@HAVE_MKSTEMPS@ +/* Create a unique temporary file from TEMPLATE. + The last six characters of TEMPLATE prior to a suffix of length + SUFFIXLEN must be "XXXXXX"; + they are replaced with a string that makes the file name unique. + The file is then created, ensuring it didn't exist before. + The file is created read-write (mask at least 0600 & ~umask), but it may be + world-readable and world-writable (mask 0666 & ~umask), depending on the + implementation. + Returns the open file descriptor if successful, otherwise -1 and errno + set. */ +extern int mkstemps (char * /*template*/, int /*suffixlen*/); +# endif +#elif defined GNULIB_POSIXCHECK +# undef mkstemps +# define mkstemps(t,s) \ + (GL_LINK_WARNING ("mkstemps is unportable - " \ + "use gnulib module mkstemps for portability"), \ + mkstemps (t, s)) +#endif + #if @GNULIB_PUTENV@ # if @REPLACE_PUTENV@ # undef putenv @@ -292,6 +354,21 @@ extern void * realloc (void *ptr, size_t size); realloc (p, s)) #endif +#if @GNULIB_REALPATH@ +# if @REPLACE_REALPATH@ +# define realpath rpl_realpath +# endif +# if !@HAVE_REALPATH@ || @REPLACE_REALPATH@ +extern char *realpath (const char *name, char *resolved); +# endif +#elif defined GNULIB_POSIXCHECK +# undef realpath +# define realpath(n,r) \ + (GL_LINK_WARNING ("realpath is unportable - use gnulib module " \ + "canonicalize or canonicalize-lgpl for portability"), \ + realpath (n, r)) +#endif + #if @GNULIB_RPMATCH@ # if !@HAVE_RPMATCH@ /* Test a user response to a question. @@ -307,11 +384,21 @@ extern int rpmatch (const char *response); #endif #if @GNULIB_SETENV@ -# if !@HAVE_SETENV@ +# if @REPLACE_SETENV@ +# undef setenv +# define setenv rpl_setenv +# endif +# if !@HAVE_SETENV@ || @REPLACE_SETENV@ /* Set NAME to VALUE in the environment. If REPLACE is nonzero, overwrite an existing value. */ extern int setenv (const char *name, const char *value, int replace); # endif +#elif defined GNULIB_POSIXCHECK +# undef setenv +# define setenv(n,v,o) \ + (GL_LINK_WARNING ("setenv is unportable - " \ + "use gnulib module setenv for portability"), \ + setenv (n, v, o)) #endif #if @GNULIB_STRTOD@ @@ -371,16 +458,20 @@ extern unsigned long long strtoull (const char *string, char **endptr, int base) #endif #if @GNULIB_UNSETENV@ -# if @HAVE_UNSETENV@ -# if @VOID_UNSETENV@ -/* On some systems, unsetenv() returns void. - This is the case for MacOS X 10.3, FreeBSD 4.8, NetBSD 1.6, OpenBSD 3.4. */ -# define unsetenv(name) ((unsetenv)(name), 0) -# endif -# else +# if @REPLACE_UNSETENV@ +# undef unsetenv +# define unsetenv rpl_unsetenv +# endif +# if !@HAVE_UNSETENV@ || @REPLACE_UNSETENV@ /* Remove the variable NAME from the environment. */ extern int unsetenv (const char *name); # endif +#elif defined GNULIB_POSIXCHECK +# undef unsetenv +# define unsetenv(n) \ + (GL_LINK_WARNING ("unsetenv is unportable - " \ + "use gnulib module unsetenv for portability"), \ + unsetenv (n)) #endif #ifdef __cplusplus