diff options
author | Eric Andersen | 2004-08-03 00:14:02 +0000 |
---|---|---|
committer | Eric Andersen | 2004-08-03 00:14:02 +0000 |
commit | 93d7fba89288db6f9263c0ce8026f277bc4649e0 (patch) | |
tree | b8a572b7a2ccc68c5edad3a9691fbb017d7a39ae /libbb/find_root_device.c | |
parent | ec91de762a7d14cbed5e5972279d2378ae2e5a27 (diff) | |
download | busybox-93d7fba89288db6f9263c0ce8026f277bc4649e0.zip busybox-93d7fba89288db6f9263c0ce8026f277bc4649e0.tar.gz |
Tito, farmatito at tiscali dot it writes:
Hi to all,
This patch is useful for:
1) remove an unused var from extern char *find_real_root_device_name(const char* name)
changing it to extern char *find_real_root_device_name(void).
2) fixes include/libbb.h, coreutils/df.c, util-linux/mount.c and util-linux/umount.c accordingly.
3) fixes a bug, really a false positive, in find_real_root_device_name() that happens if
in the /dev directory exists a link named root (/dev/root) that should be skipped but
is not. This affects applets like df that display wrong results
Diffstat (limited to 'libbb/find_root_device.c')
-rw-r--r-- | libbb/find_root_device.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/libbb/find_root_device.c b/libbb/find_root_device.c index 81824a2..2600ce5 100644 --- a/libbb/find_root_device.c +++ b/libbb/find_root_device.c @@ -27,7 +27,7 @@ -extern char *find_real_root_device_name(const char* name) +extern char *find_real_root_device_name(void) { DIR *dir; struct dirent *entry; @@ -54,7 +54,11 @@ extern char *find_real_root_device_name(const char* name) * would get a false positive on ".." */ if (myname[0] == '.' && myname[1] == '.' && !myname[2]) continue; - +#ifdef CONFIG_FEATURE_DEVFS + /* if there is a link named /dev/root skip that too */ + if (strcmp(myname, "root")==0) + continue; +#endif fileName = concat_path_file("/dev", myname); /* Some char devices have the same dev_t as block |