changeset 258:2d3eeca18f5d

GNU file utilities
author Jim Meyering <jim@meyering.net>
date Sat, 08 Oct 1994 02:31:08 +0000
parents ed27c3582f3b
children e7459e7e9a29
files lib/Makefile.in lib/filemode.c lib/fnmatch.h lib/fsusage.c lib/mkdir.c
diffstat 5 files changed, 33 insertions(+), 58 deletions(-) [+]
line wrap: on
line diff
--- 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.
--- 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
--- 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.  */
--- 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 <sys/mount.h>
+#ifdef HAVE_SYS_PARAM_H
+#include <sys/param.h>
 #endif
 
-#if defined(STAT_STATFS2_BSIZE) && !defined(_IBMR2) /* 4.3BSD, SunOS 4, HP-UX, AIX PS/2.  */
-#include <sys/vfs.h>
-#endif
-
-#ifdef STAT_STATFS2_FSIZE	/* 4.4BSD.  */
+#ifdef HAVE_SYS_MOUNT_H
 #include <sys/mount.h>
 #endif
 
-#ifdef STAT_STATFS2_FS_DATA	/* Ultrix.  */
-#include <sys/param.h>
-#include <sys/mount.h>
+#ifdef HAVE_SYS_VFS_H
+#include <sys/vfs.h>
 #endif
 
-#ifdef STAT_READ		/* SVR2.  */
-#include <sys/param.h>
-#include <sys/filsys.h>
+#ifdef HAVE_SYS_FILSYS_H
+#include <sys/filsys.h>		/* SVR2.  */
+#endif
+
+#ifdef HAVE_FCNTL_H
 #include <fcntl.h>
 #endif
 
-#if defined(STAT_STATFS4) || (defined(_AIX) && defined(_IBMR2)) /* SVR3, Dynix, Irix, AIX RS6000.  */
+#ifdef HAVE_SYS_STATFS_H
 #include <sys/statfs.h>
 #endif
 
-#if defined(_AIX) && defined(_I386) /* AIX PS/2.  */
+#ifdef HAVE_DUSTAT_H		/* AIX PS/2.  */
 #include <sys/stat.h>
 #include <sys/dustat.h>
 #endif
 
-#ifdef STAT_STATVFS		/* SVR4.  */
+#ifdef HAVE_SYS_STATVFS_H	/* SVR4.  */
 #include <sys/statvfs.h>
 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);
--- 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 <config.h> 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 <config.h>
-#else
-#include "config.h"
-#endif
 #endif
 
 #include <sys/types.h>
 #include <sys/stat.h>
-
 #include <errno.h>
 #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;
 	}