aboutsummaryrefslogtreecommitdiff
path: root/libbb/find_mount_point.c
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2006-11-29 18:15:52 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2006-11-29 18:15:52 +0000
commitc6ce8733dda7e6f9146e0a040048aebea0c2e589 (patch)
treefb5fd16229f7c9f34423c4f27ed47cc19e7434df /libbb/find_mount_point.c
parenta35c9e91ba53073ff797d1d68d0d4e1836d934f0 (diff)
downloadbusybox-w32-c6ce8733dda7e6f9146e0a040048aebea0c2e589.tar.gz
busybox-w32-c6ce8733dda7e6f9146e0a040048aebea0c2e589.tar.bz2
busybox-w32-c6ce8733dda7e6f9146e0a040048aebea0c2e589.zip
cut 0.5k off mkfs.minix
assorted strtoul fixes (that's what brought me into minix)...
Diffstat (limited to 'libbb/find_mount_point.c')
-rw-r--r--libbb/find_mount_point.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/libbb/find_mount_point.c b/libbb/find_mount_point.c
index 8341612d4..cb00b9806 100644
--- a/libbb/find_mount_point.c
+++ b/libbb/find_mount_point.c
@@ -7,12 +7,9 @@
7 * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. 7 * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
8 */ 8 */
9 9
10#include <stdio.h>
11#include <string.h>
12#include "libbb.h" 10#include "libbb.h"
13
14
15#include <mntent.h> 11#include <mntent.h>
12
16/* 13/*
17 * Given a block device, find the mount table entry if that block device 14 * Given a block device, find the mount table entry if that block device
18 * is mounted. 15 * is mounted.
@@ -36,14 +33,16 @@ struct mntent *find_mount_point(const char *name, const char *table)
36 mountDevice = s.st_dev; 33 mountDevice = s.st_dev;
37 34
38 35
39 if ((mountTable = setmntent(table ? table : bb_path_mtab_file, "r")) == 0) 36 mountTable = setmntent(table ? table : bb_path_mtab_file, "r");
37 if (!mountTable)
40 return 0; 38 return 0;
41 39
42 while ((mountEntry = getmntent(mountTable)) != 0) { 40 while ((mountEntry = getmntent(mountTable)) != 0) {
43 41 if (strcmp(name, mountEntry->mnt_dir) == 0
44 if(strcmp(name, mountEntry->mnt_dir) == 0 42 || strcmp(name, mountEntry->mnt_fsname) == 0
45 || strcmp(name, mountEntry->mnt_fsname) == 0) /* String match. */ 43 ) { /* String match. */
46 break; 44 break;
45 }
47 if (stat(mountEntry->mnt_fsname, &s) == 0 && s.st_rdev == mountDevice) /* Match the device. */ 46 if (stat(mountEntry->mnt_fsname, &s) == 0 && s.st_rdev == mountDevice) /* Match the device. */
48 break; 47 break;
49 if (stat(mountEntry->mnt_dir, &s) == 0 && s.st_dev == mountDevice) /* Match the directory's mount point. */ 48 if (stat(mountEntry->mnt_dir, &s) == 0 && s.st_dev == mountDevice) /* Match the directory's mount point. */