From d9d03b83f861c814bbbdbed50d07429a513949bb Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Tue, 12 Dec 2000 23:20:37 +0000 Subject: Mount error return code fix from Kent Robotti -- we must reset the error code when looping... --- mount.c | 9 +++------ util-linux/mount.c | 9 +++------ 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); -- cgit v1.2.3