X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=lib%2Fcanonicalize.h;h=8ca4fb42266885ec9891209a46615c7b83bc5000;hb=7080851f5a8270aee50e8545d28c48c6c75decc1;hp=2f73de0eac6115de1af9c3fab3c1aa4157348bbe;hpb=cbb957509a65c2a1a7a14e90a35882df286948d1;p=gnulib.git diff --git a/lib/canonicalize.h b/lib/canonicalize.h index 2f73de0ea..8ca4fb422 100644 --- a/lib/canonicalize.h +++ b/lib/canonicalize.h @@ -1,10 +1,10 @@ /* 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 + 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 - the Free Software Foundation; either version 2, or (at your option) - any later version. + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -12,19 +12,18 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; see the file COPYING. - If not, write to the Free Software Foundation, - 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + along with this program. If not, see . */ #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 +31,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