X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fstat.c;h=df0be3a81aa9202a73357a3ecfbac377c0ac8c6e;hb=a10e3d19c8c812a60794c247ff6940a04ed51bea;hp=ff9e9bbe5b4b1721ca367ab57cdac09fab47093c;hpb=c5ed167e687723c0cd64fafc62b45a6c4e501f0c;p=gnulib.git diff --git a/lib/stat.c b/lib/stat.c index ff9e9bbe5..df0be3a81 100644 --- a/lib/stat.c +++ b/lib/stat.c @@ -1,8 +1,10 @@ /* Work around the bug in some systems whereby stat/lstat succeeds when - given the zero-length file name argument. The stat/lstat from SunOS4.1.4 + given the zero-length file name argument. The stat/lstat from SunOS 4.1.4 has this bug. Also work around a deficiency in Solaris systems (up to at - least Solaris5.9) regarding the semantics of `lstat ("symlink/", sbuf).' - Copyright (C) 1997-2003 Free Software Foundation, Inc. + least Solaris 9) regarding the semantics of `lstat ("symlink/", sbuf).' + + Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 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 @@ -25,35 +27,11 @@ #include #include #include -#ifndef errno -extern int errno; -#endif #if defined LSTAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK +# include # include -# if HAVE_STDLIB_H -# include -# endif - -# ifdef STAT_MACROS_BROKEN -# undef S_ISLNK -# endif - -# ifndef S_ISLNK -# ifdef S_IFLNK -# define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK) -# else -# define S_ISLNK(m) 0 -# endif -# endif - -# ifndef HAVE_DECL_FREE -"this configure-time declaration test was not run" -# endif -# if !HAVE_DECL_FREE -void free (); -# endif - +# include "stat-macros.h" # include "xalloc.h" /* lstat works differently on Linux and Solaris systems. POSIX (see @@ -102,7 +80,7 @@ slash_aware_lstat (const char *file, struct stat *sbuf) Otherwise, return the result of calling the real stat/lstat. This works around the bug in some systems whereby stat/lstat succeeds when - given the zero-length file name argument. The stat/lstat from SunOS4.1.4 + given the zero-length file name argument. The stat/lstat from SunOS 4.1.4 has this bug. */ /* This function also provides a version of lstat with consistent semantics