summaryrefslogtreecommitdiff
path: root/coreutils/df.c
diff options
context:
space:
mode:
Diffstat (limited to 'coreutils/df.c')
-rw-r--r--coreutils/df.c88
1 files changed, 44 insertions, 44 deletions
diff --git a/coreutils/df.c b/coreutils/df.c
index 8cc9381..a777d70 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;
-}
-
-