1
0
mirror of https://git.savannah.gnu.org/git/gnulib.git synced 2025-08-17 12:41:05 +03:00
Files
gnulib/doc/posix-functions/realpath.texi
Eric Blake 4e793c35b6 canonicalize-lgpl: fix glibc bug with trailing slash
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>
2009-09-17 19:16:31 -06:00

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