GNU file utilities FILEUTILS-3_9i
authorJim Meyering <jim@meyering.net>
Sat, 8 Oct 1994 02:31:08 +0000 (02:31 +0000)
committerJim Meyering <jim@meyering.net>
Sat, 8 Oct 1994 02:31:08 +0000 (02:31 +0000)
lib/Makefile.in
lib/filemode.c
lib/fnmatch.h
lib/fsusage.c
lib/mkdir.c

index b84df8b..c9d9450 100644 (file)
@@ -46,7 +46,7 @@ modechange.o safe-read.o safe-stat.o safe-lstat.o savedir.o \
 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 @@ all: libfu.a
 .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 @@ libfu.a: $(OBJECTS)
        $(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 @@ safe-stat.h: safe-xstat.hin
        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.
index e88fc12..c86ee2f 100644 (file)
 #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
index 69eab0c..d9d73b3 100644 (file)
@@ -25,10 +25,10 @@ extern "C" {
 
 #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.  */
index 9bef62a..503b387 100644 (file)
 
 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>
+#ifdef HAVE_SYS_MOUNT_H
+#include <sys/mount.h>
 #endif
 
-#ifdef STAT_STATFS2_FSIZE      /* 4.4BSD.  */
-#include <sys/mount.h>
+#ifdef HAVE_SYS_VFS_H
+#include <sys/vfs.h>
 #endif
 
-#ifdef STAT_STATFS2_FS_DATA    /* Ultrix.  */
-#include <sys/param.h>
-#include <sys/mount.h>
+#ifdef HAVE_SYS_FILSYS_H
+#include <sys/filsys.h>                /* SVR2.  */
 #endif
 
-#ifdef STAT_READ               /* SVR2.  */
-#include <sys/param.h>
-#include <sys/filsys.h>
+#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 @@ get_fs_usage (path, disk, fsp)
   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 @@ get_fs_usage (path, disk, fsp)
 #endif
 #endif
 
-#ifdef STAT_STATVFS            /* SVR4.  */
+#ifdef HAVE_SYS_STATVFS_H      /* SVR4.  */
   struct statvfs fsd;
 
   if (statvfs (path, &fsd) < 0)
@@ -183,7 +180,7 @@ get_fs_usage (path, disk, fsp)
   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);
index 3726cbb..1a5ba2d 100644 (file)
    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 @@ mkdir (dpath, dmode)
 
   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 @@ mkdir (dpath, dmode)
   cpid = fork ();
   switch (cpid)
     {
-    case -1:                   /* cannot fork */
-      return -1;               /* errno already set */
-
-    case 0:                    /* child process */
+    case -1:                   /* Cannot fork.  */
+      return -1;               /* errno is already set.  */
 
+    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;
        }