aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2000-12-12 23:20:37 +0000
committerEric Andersen <andersen@codepoet.org>2000-12-12 23:20:37 +0000
commitd9d03b83f861c814bbbdbed50d07429a513949bb (patch)
tree6a7e9e91b5f6492da2a69d2d70ff625644568635
parentb12e506d8d0f3c8551bb1fed3234602f11b7b3fe (diff)
downloadbusybox-d9d03b83f861c814bbbdbed50d07429a513949bb.tar.gz
Mount error return code fix from Kent Robotti -- we must reset the error
code when looping...
-rw-r--r--mount.c9
-rw-r--r--util-linux/mount.c9
2 files changed, 6 insertions, 12 deletions
diff --git a/mount.c b/mount.c
index fa998122b..06673f942 100644
--- a/mount.c
+++ b/mount.c
@@ -132,12 +132,10 @@ do_mount(char *specialfile, char *dir, char *filesystemtype,
specialfile = find_unused_loop_device();
if (specialfile == NULL) {
- error_msg("Could not find a spare loop device\n");
- return (FALSE);
+ error_msg_and_die("Could not find a spare loop device\n");
}
if (set_loop(specialfile, lofile, 0, &loro)) {
- error_msg("Could not setup loop device\n");
- return (FALSE);
+ error_msg_and_die("Could not setup loop device\n");
}
if (!(flags & MS_RDONLY) && loro) { /* loop is ro, but wanted rw */
error_msg("WARNING: loop device is read-only\n");
@@ -481,6 +479,7 @@ extern int mount_main(int argc, char **argv)
directory = strdup(m->mnt_dir);
filesystemType = strdup(m->mnt_type);
singlemount:
+ rc = EXIT_SUCCESS;
#ifdef BB_NFSMOUNT
if (strchr(device, ':') != NULL)
filesystemType = "nfs";
@@ -499,8 +498,6 @@ singlemount:
if (all == FALSE)
break;
-
- rc = EXIT_SUCCESS; // Always return 0 for 'all'
}
if (fstabmount == TRUE)
endmntent(f);
diff --git a/util-linux/mount.c b/util-linux/mount.c
index fa998122b..06673f942 100644
--- a/util-linux/mount.c
+++ b/util-linux/mount.c
@@ -132,12 +132,10 @@ do_mount(char *specialfile, char *dir, char *filesystemtype,
specialfile = find_unused_loop_device();
if (specialfile == NULL) {
- error_msg("Could not find a spare loop device\n");
- return (FALSE);
+ error_msg_and_die("Could not find a spare loop device\n");
}
if (set_loop(specialfile, lofile, 0, &loro)) {
- error_msg("Could not setup loop device\n");
- return (FALSE);
+ error_msg_and_die("Could not setup loop device\n");
}
if (!(flags & MS_RDONLY) && loro) { /* loop is ro, but wanted rw */
error_msg("WARNING: loop device is read-only\n");
@@ -481,6 +479,7 @@ extern int mount_main(int argc, char **argv)
directory = strdup(m->mnt_dir);
filesystemType = strdup(m->mnt_type);
singlemount:
+ rc = EXIT_SUCCESS;
#ifdef BB_NFSMOUNT
if (strchr(device, ':') != NULL)
filesystemType = "nfs";
@@ -499,8 +498,6 @@ singlemount:
if (all == FALSE)
break;
-
- rc = EXIT_SUCCESS; // Always return 0 for 'all'
}
if (fstabmount == TRUE)
endmntent(f);