diff options
author | Eric Andersen <andersen@codepoet.org> | 2000-12-12 23:20:37 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2000-12-12 23:20:37 +0000 |
commit | d9d03b83f861c814bbbdbed50d07429a513949bb (patch) | |
tree | 6a7e9e91b5f6492da2a69d2d70ff625644568635 | |
parent | b12e506d8d0f3c8551bb1fed3234602f11b7b3fe (diff) | |
download | busybox-d9d03b83f861c814bbbdbed50d07429a513949bb.tar.gz |
Mount error return code fix from Kent Robotti -- we must reset the error
code when looping...
-rw-r--r-- | mount.c | 9 | ||||
-rw-r--r-- | util-linux/mount.c | 9 |
2 files changed, 6 insertions, 12 deletions
@@ -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); |