Patch from Chris Larson (kergoth), to allow multiple directores to be
authorGlenn L McGrath <bug1@ihug.co.nz>
Sun, 22 Feb 2004 11:35:13 +0000 (11:35 -0000)
committerGlenn L McGrath <bug1@ihug.co.nz>
Sun, 22 Feb 2004 11:35:13 +0000 (11:35 -0000)
unmounted at once.

docs/busybox.sgml
util-linux/umount.c

index b54d68e..bd8b169 100644 (file)
            <title>umount</title>
 
                <para>
-               Usage: umount [OPTION]... DEVICE|DIRECTORY
+               Usage: umount [OPTION]... DEVICE|DIRECTORY [...]
                </para>
 
                <para>
index 863d524..5df5970 100644 (file)
@@ -238,7 +238,7 @@ static int umount_all(void)
 
 extern int umount_main(int argc, char **argv)
 {
-       char path[PATH_MAX];
+       char path[PATH_MAX], result = 0;
 
        if (argc < 2) {
                bb_show_usage();
@@ -286,10 +286,13 @@ extern int umount_main(int argc, char **argv)
                else
                        return EXIT_FAILURE;
        }
-       if (realpath(*argv, path) == NULL)
-               bb_perror_msg_and_die("%s", path);
-       if (do_umount(path))
-               return EXIT_SUCCESS;
-       bb_perror_msg_and_die("%s", *argv);
-}
 
+       do {
+               if (realpath(*argv, path) != NULL)
+                       if (do_umount(path))
+                               continue;
+               bb_perror_msg("%s", path);
+               result++;
+       } while (--argc > 0 && ++argv);
+       return result;
+}