# HG changeset patch # User Jim Meyering # Date 781583468 0 # Node ID 2d3eeca18f5d28dbc483fd4218281433ae589444 # Parent ed27c3582f3bd7a1384af0c23223a20f56b69378 GNU file utilities diff --git a/lib/Makefile.in b/lib/Makefile.in --- a/lib/Makefile.in +++ b/lib/Makefile.in @@ -46,7 +46,7 @@ stripslash.o xgetcwd.o xmalloc.o xstrdup.o userspec.o yesno.o \ @LIBOBJS@ @ALLOCA@ -DISTFILES = Makefile.in backupfile.h getopt.h modechange.h \ +DISTFILES = Makefile.in backupfile.h getopt.h long-options.h modechange.h \ fnmatch.h fsusage.h mountlist.h pathmax.h safe-xstat.cin safe-xstat.hin \ getdate.c posixtm.c $(SOURCES) @@ -58,6 +58,7 @@ .c.o: $(CC) -c $(CPPFLAGS) $(DEFS) -I. -I.. -I$(srcdir) $(CFLAGS) $< +subdir = lib Makefile: ../config.status Makefile.in cd ..; CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status @@ -96,8 +97,8 @@ $(AR) cr $@ $(OBJECTS) -$(RANLIB) $@ -extract_stat = sed -e 's/@l@//g' -e 's/@L@//g' -extract_lstat = sed -e 's/@l@/l/g' -e 's/@L@/L/g' +extract_stat = sed 's/@l@//g; s/@L@//g; /@LSTAT_ONLY@/d' +extract_lstat = sed 's/@l@/l/g; s/@L@/L/g; s/ *@LSTAT_ONLY@//' safe-lstat.c: safe-xstat.cin $(extract_lstat) $(srcdir)/safe-xstat.cin > $@-t @@ -116,7 +117,7 @@ mv $@-t $@ safe-stat.o: safe-stat.h -safe-lstat.o: safe-lstat.h +safe-lstat.o: safe-lstat.h safe-stat.h # Since this directory contains two parsers, we have to be careful to avoid # running two $(YACC)s during parallel makes. See below. diff --git a/lib/filemode.c b/lib/filemode.c --- a/lib/filemode.c +++ b/lib/filemode.c @@ -28,15 +28,6 @@ #define S_IEXEC S_IXUSR #endif -#if 0 /* This is unreliable, since GCC 2.5 always has S_ISREG in its - fixed headers but it does not always have mode_t. - It seems safer not to try to use mode_t ever. */ -#if !defined(S_ISREG) || defined(NO_MODE_T) -/* Doesn't have POSIX.1 stat stuff or doesn't have mode_t. */ -#define mode_t unsigned short -#endif -#endif - #ifdef STAT_MACROS_BROKEN #undef S_ISBLK #undef S_ISCHR diff --git a/lib/fnmatch.h b/lib/fnmatch.h --- a/lib/fnmatch.h +++ b/lib/fnmatch.h @@ -25,10 +25,10 @@ #if defined (__cplusplus) || (defined (__STDC__) && __STDC__) #undef __P -#define __P(args) args +#define __P(protos) protos #else /* Not C++ or ANSI C. */ #undef __P -#define __P(args) () +#define __P(protos) () /* We can get away without defining `const' here only because in this file it is used only inside the prototype for `fnmatch', which is elided in non-ANSI C where `const' is problematical. */ diff --git a/lib/fsusage.c b/lib/fsusage.c --- a/lib/fsusage.c +++ b/lib/fsusage.c @@ -25,39 +25,36 @@ int statfs (); -#if defined (STAT_STATFS3_OSF1) /* DEC Alpha running OSF/1 */ -# include +#ifdef HAVE_SYS_PARAM_H +#include #endif -#if defined(STAT_STATFS2_BSIZE) && !defined(_IBMR2) /* 4.3BSD, SunOS 4, HP-UX, AIX PS/2. */ -#include -#endif - -#ifdef STAT_STATFS2_FSIZE /* 4.4BSD. */ +#ifdef HAVE_SYS_MOUNT_H #include #endif -#ifdef STAT_STATFS2_FS_DATA /* Ultrix. */ -#include -#include +#ifdef HAVE_SYS_VFS_H +#include #endif -#ifdef STAT_READ /* SVR2. */ -#include -#include +#ifdef HAVE_SYS_FILSYS_H +#include /* SVR2. */ +#endif + +#ifdef HAVE_FCNTL_H #include #endif -#if defined(STAT_STATFS4) || (defined(_AIX) && defined(_IBMR2)) /* SVR3, Dynix, Irix, AIX RS6000. */ +#ifdef HAVE_SYS_STATFS_H #include #endif -#if defined(_AIX) && defined(_I386) /* AIX PS/2. */ +#ifdef HAVE_DUSTAT_H /* AIX PS/2. */ #include #include #endif -#ifdef STAT_STATVFS /* SVR4. */ +#ifdef HAVE_SYS_STATVFS_H /* SVR4. */ #include int statvfs (); #endif @@ -116,7 +113,7 @@ fsp->fsu_ffree = fsd.fd_req.gfree; #endif -#ifdef STAT_READ /* SVR2. */ +#ifdef STAT_READ_FILSYS /* SVR2. */ #ifndef SUPERBOFF #define SUPERBOFF (SUPERB * 512) #endif @@ -173,7 +170,7 @@ #endif #endif -#ifdef STAT_STATVFS /* SVR4. */ +#ifdef HAVE_SYS_STATVFS_H /* SVR4. */ struct statvfs fsd; if (statvfs (path, &fsd) < 0) @@ -183,7 +180,7 @@ adjust_blocks ((b), fsd.f_frsize ? fsd.f_frsize : fsd.f_bsize, 512) #endif -#if !defined(STAT_STATFS2_FS_DATA) && !defined(STAT_READ) /* !Ultrix && !SVR2. */ +#if !defined(STAT_STATFS2_FS_DATA) && !defined(STAT_READ_FILSYS) /* !Ultrix && !SVR2. */ fsp->fsu_blocks = CONVERT_BLOCKS (fsd.f_blocks); fsp->fsu_bfree = CONVERT_BLOCKS (fsd.f_bfree); fsp->fsu_bavail = CONVERT_BLOCKS (fsd.f_bavail); diff --git a/lib/mkdir.c b/lib/mkdir.c --- a/lib/mkdir.c +++ b/lib/mkdir.c @@ -16,19 +16,11 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifdef HAVE_CONFIG_H -#if defined (CONFIG_BROKETS) -/* We use instead of "config.h" so that a compilation - using -I. -I$srcdir will use ./config.h rather than $srcdir/config.h - (which it would do because it found this file in $srcdir). */ #include -#else -#include "config.h" -#endif #endif #include #include - #include #ifndef errno extern int errno; @@ -67,7 +59,7 @@ if (SAFE_STAT (dpath, &statbuf) == 0) { - errno = EEXIST; /* stat worked, it already exists */ + errno = EEXIST; /* stat worked, so it already exists. */ return -1; } @@ -78,33 +70,27 @@ cpid = fork (); switch (cpid) { - case -1: /* cannot fork */ - return -1; /* errno already set */ + case -1: /* Cannot fork. */ + return -1; /* errno is already set. */ - case 0: /* child process */ - + case 0: /* Child process. */ /* Cheap hack to set mode of new directory. Since this child - process is going away anyway, we zap its umask. This won't - suffice to set SUID, SGID, etc. on this directory, so the parent - process calls chmod afterward. */ - - status = umask (0); - umask (status | (0777 & ~dmode)); + process is going away anyway, we zap its umask. + This won't suffice to set SUID, SGID, etc. on this + directory, so the parent process calls chmod afterward. */ + status = umask (0); /* Get current umask. */ + umask (status | (0777 & ~dmode)); /* Set for mkdir. */ execl ("/bin/mkdir", "mkdir", dpath, (char *) 0); _exit (1); - default: /* parent process */ - + default: /* Parent process. */ /* Wait for kid to finish. */ - while (wait (&status) != cpid) /* Do nothing. */ ; if (status & 0xFFFF) { - /* /bin/mkdir failed. */ - errno = EIO; return -1; }