summaryrefslogtreecommitdiffhomepage
path: root/coreutils
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>1999-10-13 18:01:10 +0000
committerEric Andersen <andersen@codepoet.org>1999-10-13 18:01:10 +0000
commitc6cb79dedfb1af4ce64e75cd1c0d3cc1bfa71225 (patch)
tree685c18e7a6e52b315c9b8a142b8b21fc55e635fc /coreutils
parent5de3065f5870526a68adee314fe181af976a9246 (diff)
More stuff
Diffstat (limited to 'coreutils')
-rw-r--r--coreutils/chown.c4
-rw-r--r--coreutils/cp.c34
-rw-r--r--coreutils/df.c88
3 files changed, 46 insertions, 80 deletions
diff --git a/coreutils/chown.c b/coreutils/chown.c
index bcaeea38e..8d6cffa14 100644
--- a/coreutils/chown.c
+++ b/coreutils/chown.c
@@ -48,9 +48,9 @@ static int fileAction(const char *fileName)
((chownApp==TRUE)? uid: statBuf.st_uid),
gid) < 0)) {
perror(fileName);
- return( TRUE);
+ return( FALSE);
}
- return( FALSE);
+ return( TRUE);
}
int chown_main(int argc, char **argv)
diff --git a/coreutils/cp.c b/coreutils/cp.c
index 4cdfc843b..94b4ab024 100644
--- a/coreutils/cp.c
+++ b/coreutils/cp.c
@@ -47,43 +47,9 @@ static int fileAction(const char *fileName)
char newdestName[NAME_MAX];
strcpy(newdestName, destName);
strcat(newdestName, fileName+(strlen(srcName)));
- fprintf(stderr, "A: copying %s to %s\n", fileName, newdestName);
return (copyFile(fileName, newdestName, preserveFlag, followLinks));
}
-static int dirAction(const char *fileName)
-{
- char newdestName[NAME_MAX];
- struct stat statBuf;
- struct utimbuf times;
-
- strcpy(newdestName, destName);
- strcat(newdestName, fileName+(strlen(srcName)));
- if (stat(newdestName, &statBuf)) {
- if (mkdir( newdestName, 0777777 ^ umask (0))) {
- perror(newdestName);
- return( FALSE);
- }
- }
- else if (!S_ISDIR (statBuf.st_mode)) {
- fprintf(stderr, "`%s' exists but is not a directory", newdestName);
- return( FALSE);
- }
- if (preserveFlag==TRUE) {
- /* Try to preserve premissions, but don't whine on failure */
- if (stat(newdestName, &statBuf)) {
- perror(newdestName);
- return( FALSE);
- }
- chmod(newdestName, statBuf.st_mode);
- chown(newdestName, statBuf.st_uid, statBuf.st_gid);
- times.actime = statBuf.st_atime;
- times.modtime = statBuf.st_mtime;
- utime(newdestName, &times);
- }
- return TRUE;
-}
-
extern int cp_main(int argc, char **argv)
{
diff --git a/coreutils/df.c b/coreutils/df.c
index 8cc93814b..a777d70f4 100644
--- a/coreutils/df.c
+++ b/coreutils/df.c
@@ -43,6 +43,50 @@ df(char* device, const char * mountPoint)
return 0;
}
+/*
+ * Given a block device, find the mount table entry if that block device
+ * is mounted.
+ *
+ * Given any other file (or directory), find the mount table entry for its
+ * filesystem.
+ */
+extern struct mntent *
+findMountPoint(const char* name, const char* table)
+{
+ struct stat s;
+ dev_t mountDevice;
+ FILE * mountTable;
+ struct mntent * mountEntry;
+
+ if ( stat(name, &s) != 0 )
+ return 0;
+
+ if ( (s.st_mode & S_IFMT) == S_IFBLK )
+ mountDevice = s.st_rdev;
+ else
+ mountDevice = s.st_dev;
+
+
+ if ( (mountTable = setmntent(table, "r")) == 0 )
+ return 0;
+
+ while ( (mountEntry = getmntent(mountTable)) != 0 ) {
+ if ( strcmp(name, mountEntry->mnt_dir) == 0
+ || strcmp(name, mountEntry->mnt_fsname) == 0 ) /* String match. */
+ break;
+ if ( stat(mountEntry->mnt_fsname, &s) == 0
+ && s.st_rdev == mountDevice ) /* Match the device. */
+ break;
+ if ( stat(mountEntry->mnt_dir, &s) == 0
+ && s.st_dev == mountDevice ) /* Match the directory's mount point. */
+ break;
+ }
+ endmntent(mountTable);
+ return mountEntry;
+}
+
+
+
extern int
df_main(int argc, char * * argv)
{
@@ -90,47 +134,3 @@ df_main(int argc, char * * argv)
-
-/*
- * Given a block device, find the mount table entry if that block device
- * is mounted.
- *
- * Given any other file (or directory), find the mount table entry for its
- * filesystem.
- */
-extern struct mntent *
-findMountPoint(const char* name, const char* table)
-{
- struct stat s;
- dev_t mountDevice;
- FILE * mountTable;
- struct mntent * mountEntry;
-
- if ( stat(name, &s) != 0 )
- return 0;
-
- if ( (s.st_mode & S_IFMT) == S_IFBLK )
- mountDevice = s.st_rdev;
- else
- mountDevice = s.st_dev;
-
-
- if ( (mountTable = setmntent(table, "r")) == 0 )
- return 0;
-
- while ( (mountEntry = getmntent(mountTable)) != 0 ) {
- if ( strcmp(name, mountEntry->mnt_dir) == 0
- || strcmp(name, mountEntry->mnt_fsname) == 0 ) /* String match. */
- break;
- if ( stat(mountEntry->mnt_fsname, &s) == 0
- && s.st_rdev == mountDevice ) /* Match the device. */
- break;
- if ( stat(mountEntry->mnt_dir, &s) == 0
- && s.st_dev == mountDevice ) /* Match the directory's mount point. */
- break;
- }
- endmntent(mountTable);
- return mountEntry;
-}
-
-