summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>1994-10-08 02:31:08 +0000
committerJim Meyering <jim@meyering.net>1994-10-08 02:31:08 +0000
commit956d24b466aecb0286f87b7305a987183dbeeef3 (patch)
treed3a048925b5f50bf2838a321e69de4dd87c5b1d0
parent80b012a9c4e32ce7f476f73402b33cc6fe7c09d5 (diff)
downloadgnulib-956d24b466aecb0286f87b7305a987183dbeeef3.tar.gz
GNU file utilitiesFILEUTILS-3_9i
-rw-r--r--lib/Makefile.in9
-rw-r--r--lib/filemode.c9
-rw-r--r--lib/fnmatch.h4
-rw-r--r--lib/fsusage.c33
-rw-r--r--lib/mkdir.c34
5 files changed, 32 insertions, 57 deletions
diff --git a/lib/Makefile.in b/lib/Makefile.in
index b84df8b5fc..c9d9450b26 100644
--- a/lib/Makefile.in
+++ b/lib/Makefile.in
@@ -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.
diff --git a/lib/filemode.c b/lib/filemode.c
index e88fc1249e..c86ee2ff52 100644
--- 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
index 69eab0c0d6..d9d73b3d86 100644
--- a/lib/fnmatch.h
+++ b/lib/fnmatch.h
@@ -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. */
diff --git a/lib/fsusage.c b/lib/fsusage.c
index 9bef62aba7..503b3875ec 100644
--- 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>
+#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);
diff --git a/lib/mkdir.c b/lib/mkdir.c
index 3726cbbcc1..1a5ba2ddcf 100644
--- 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 @@ 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;
}