summaryrefslogtreecommitdiff
path: root/umount.c
diff options
context:
space:
mode:
authorEric Andersen2001-05-15 17:42:16 +0000
committerEric Andersen2001-05-15 17:42:16 +0000
commitc911a4389bbaa5ac85d725c8c05e452dfba8583d (patch)
treea0f435a6239c002578db8f019eb0fb427f1795b3 /umount.c
parent15649c11f3568ed6f030953844f201438379e03c (diff)
downloadbusybox-c911a4389bbaa5ac85d725c8c05e452dfba8583d.zip
busybox-c911a4389bbaa5ac85d725c8c05e452dfba8583d.tar.gz
Patch from Vladimir:
1) fixed a bug that could crash df, mount, and umount applets if the root device name was longer then the word "root" (/dev/loop1 vs /dev/root) - 2) severl functions needed static declaration in the umount applet 3) update declaration for function in last_char_is() in libbb
Diffstat (limited to 'umount.c')
-rw-r--r--umount.c33
1 files changed, 16 insertions, 17 deletions
diff --git a/umount.c b/umount.c
index 0eade5a..8565744 100644
--- a/umount.c
+++ b/umount.c
@@ -74,7 +74,7 @@ extern const char mtab_file[]; /* Defined in utility.c */
* TODO: Perhaps switch to using Glibc's getmntent_r
* -Erik
*/
-void mtab_read(void)
+static void mtab_read(void)
{
struct _mtab_entry_t *entry = NULL;
struct mntent *e;
@@ -97,7 +97,7 @@ void mtab_read(void)
endmntent(fp);
}
-char *mtab_getinfo(const char *match, const char which)
+static char *mtab_getinfo(const char *match, const char which)
{
struct _mtab_entry_t *cur = mtab_cache;
@@ -111,8 +111,7 @@ char *mtab_getinfo(const char *match, const char which)
if (strcmp(cur->device, "/dev/root") == 0) {
/* Adjusts device to be the real root device,
* or leaves device alone if it can't find it */
- find_real_root_device_name( cur->device);
- return ( cur->device);
+ cur->device = find_real_root_device_name(cur->device);
}
#endif
return cur->device;
@@ -123,18 +122,7 @@ char *mtab_getinfo(const char *match, const char which)
return NULL;
}
-char *mtab_first(void **iter)
-{
- struct _mtab_entry_t *mtab_iter;
-
- if (!iter)
- return NULL;
- mtab_iter = mtab_cache;
- *iter = (void *) mtab_iter;
- return mtab_next(iter);
-}
-
-char *mtab_next(void **iter)
+static char *mtab_next(void **iter)
{
char *mp;
@@ -145,10 +133,21 @@ char *mtab_next(void **iter)
return mp;
}
+static char *mtab_first(void **iter)
+{
+ struct _mtab_entry_t *mtab_iter;
+
+ if (!iter)
+ return NULL;
+ mtab_iter = mtab_cache;
+ *iter = (void *) mtab_iter;
+ return mtab_next(iter);
+}
+
/* Don't bother to clean up, since exit() does that
* automagically, so we can save a few bytes */
#ifdef BB_FEATURE_CLEAN_UP
-void mtab_free(void)
+static void mtab_free(void)
{
struct _mtab_entry_t *this, *next;