X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fcanonicalize.h;h=5c4d3f1a5e32e841800865fdb474cf9ec6f96a9e;hb=5d0b385594bc914e6233988bfb6bc1b92a2184b5;hp=4c9596f98ff34bff5849d04145f4bdb3168419b3;hpb=267a39bafd249d7eb9c37df06dc6defcf41cb343;p=gnulib.git diff --git a/lib/canonicalize.h b/lib/canonicalize.h index 4c9596f98..5c4d3f1a5 100644 --- a/lib/canonicalize.h +++ b/lib/canonicalize.h @@ -1,5 +1,5 @@ /* Return the canonical absolute name of a given file. - Copyright (C) 1996-2004 Free Software Foundation, Inc. + Copyright (C) 1996-2007 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,12 +19,13 @@ #ifndef CANONICALIZE_H_ # define CANONICALIZE_H_ +# if GNULIB_CANONICALIZE enum canonicalize_mode_t { - /* All path components must exist. */ + /* All components must exist. */ CAN_EXISTING = 0, - /* All path components excluding last one must exist. */ + /* All components excluding last one must exist. */ CAN_ALL_BUT_LAST = 1, /* No requirements on components existence. */ @@ -32,9 +33,21 @@ enum canonicalize_mode_t }; typedef enum canonicalize_mode_t canonicalize_mode_t; +/* Return a malloc'd string containing the canonical absolute name of + the named file. This acts like canonicalize_file_name, except that + whether components must exist depends on the canonicalize_mode_t + argument. */ char *canonicalize_filename_mode (const char *, canonicalize_mode_t); +# endif -# if !HAVE_CANONICALIZE_FILE_NAME +# if HAVE_DECL_CANONICALIZE_FILE_NAME +# include +# else +/* Return a malloc'd string containing the canonical absolute name of + the named file. If any file name component does not exist or is a + symlink to a nonexistent file, return NULL. A canonical name does + not contain any `.', `..' components nor any repeated file name + separators ('/') or symlinks. */ char *canonicalize_file_name (const char *); # endif