view doc/posix-functions/realpath.texi @ 12015:9317d4a9ac96

canonicalize, canonicalize-lgpl: use <stdlib.h> Match current gnulib conventions of glibc functions being declared in the same header as glibc. This makes it easier to replace broken canonicalize_file_name. canonicalize still requires "canonicalize.h" because canonicalize_filename_mode is not in glibc. With this patch, canonicalize-lgpl always provides realpath and canonicalize_file_name, while canonicalize can provide canonicalize_file_name but not realpath; if both modules are in use, canonicalize_file_name comes from the LGPLv2+ sources, but the testing comes from canonicalize. * modules/canonicalize-lgpl (Files): Drop canonicalize.h. (Include): Mention <stdlib.h>. (configure.ac): Mention functions we provide. * modules/canonicalize (configure.ac): Likewise. * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace realpath if canonicalize_file_name is missing. * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults. * modules/stdlib (Makefile.am): Substitute witnesses. * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare. * lib/canonicalize-lgpl.c (includes): Adjust accordingly. * lib/canonicalize.h (canonicalize_file_name): Drop declaration. * NEWS: Document this. * doc/glibc-functions/canonicalize_file_name.texi (canonicalize_file_name): Likewise. * doc/posix-functions/realpath.texi (realpath): Likewise. * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>. Signed-off-by: Eric Blake <ebb9@byu.net>
author Eric Blake <ebb9@byu.net>
date Fri, 11 Sep 2009 12:18:10 -0600
parents c83dc7e8df57
children 586fda772b8f
line wrap: on
line source

@node realpath
@section @code{realpath}
@findex realpath

POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/realpath.html}

Gnulib module: canonicalize-lgpl

Portability problems fixed by Gnulib:
@itemize
@item
This function is missing on some platforms:
mingw, BeOS.
@item
This function does not allow for a NULL @samp{resolved} parameter on
some platforms:
Solaris.
@item
This function does not always return an absolute path on some
platforms:
Solaris.
@end itemize

Portability problems not fixed by Gnulib:
@itemize
@item
This function does not allow to determine the required size of output buffer;
the use of a non-NULL @samp{resolved} buffer is non-portable, since
PATH_MAX --- if it is defined --- is nothing more than a guess.
@end itemize