mirror of
https://git.savannah.gnu.org/git/gnulib.git
synced 2025-08-17 12:41:05 +03:00
Consolidate the m4 macros into a single file, since both modules now have to worry about replacing canonicalize_file_name on buggy glibc. * m4/canonicalize-lgpl.m4: Move contents... * m4/canonicalize.m4: ...here. (gl_CANONICALIZE_LGPL): Factor realpath check... (gl_FUNC_REALPATH_WORKS): ...into new macro. Enhance to catch glibc 2.3.5 bug, fixed 2005-04-27. (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it. (gl_PREREQ_CANONICALIZE_LGPL): Inline... (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro. * modules/canonicalize-lgpl (Files): Manage file rename. * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default. * modules/stdlib (Makefile.am): Substitute witness. * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement is needed. * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name replacement is required. * lib/canonicalize.c (canonicalize_file_name): Likewise. * doc/glibc-functions/canonicalize_file_name.texi (canonicalize_file_name): Document this. * doc/posix-functions/realpath.texi (realpath): Likewise. Signed-off-by: Eric Blake <ebb9@byu.net>
39 lines
988 B
Plaintext
39 lines
988 B
Plaintext
@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.
|
|
@item
|
|
This function fails to detect trailing slashes on non-directories on
|
|
some platforms:
|
|
glibc 2.3.5.
|
|
@item
|
|
This function fails to recognize non-directories followed @samp{..} on
|
|
some platforms:
|
|
cygwin.
|
|
@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
|