From cc3c5ad11108c357a526845d4231a1e22aa5e8c2 Mon Sep 17 00:00:00 2001 From: Roy Marples Date: Tue, 25 Sep 2007 22:45:57 +0000 Subject: fstabinto now behaves more like mountinfo with respect to --quiet --- init.d/checkroot | 2 +- src/fstabinfo.c | 16 ++++++---------- src/mountinfo.c | 2 +- 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/init.d/checkroot b/init.d/checkroot index 3bf2e860..0dfd0047 100755 --- a/init.d/checkroot +++ b/init.d/checkroot @@ -21,7 +21,7 @@ do_mtab() { # Now make sure /etc/mtab have additional info (gid, etc) in there local mnt= mountinfo | while read mnt; do - if fstabinfo --quiet --mountcmd "${mnt}"; then + if fstabinfo --quiet "${mnt}"; then mount -f -o remount "${mnt}" fi done diff --git a/src/fstabinfo.c b/src/fstabinfo.c index b35c6edd..d41e0339 100644 --- a/src/fstabinfo.c +++ b/src/fstabinfo.c @@ -96,7 +96,7 @@ int fstabinfo (int argc, char **argv) #else struct fstab *ent; #endif - int result = EXIT_FAILURE; + int result = EXIT_SUCCESS; char *token; int i; int opt; @@ -162,13 +162,7 @@ int fstabinfo (int argc, char **argv) while (optind < argc) rc_strlist_add (&files, argv[optind++]); - if (! files) { - if (filtered) { - if (! rc_is_env ("RC_QUIET", "yes")) - eerror ("%s: no matches found", argv[0]); - exit (EXIT_FAILURE); - } - + if (! files && ! filtered) { START_ENT; while ((ent = GET_ENT)) rc_strlist_add (&files, ENT_FILE (ent)); @@ -182,12 +176,14 @@ int fstabinfo (int argc, char **argv) START_ENT; STRLIST_FOREACH (files, file, i) { if (! (ent = GET_ENT_FILE (file))) { - if (! rc_is_env ("RC_QUIET", "yes")) - eerror ("%s: no such entry `%s'", argv[0], file); result = EXIT_FAILURE; continue; } + /* No point in outputting if quiet */ + if (rc_is_env ("RC_QUIET", "yes")) + continue; + switch (output) { case OUTPUT_MOUNTCMD: printf ("-o %s -t %s %s %s\n", ENT_OPTS (ent), ENT_TYPE (ent), diff --git a/src/mountinfo.c b/src/mountinfo.c index a0250e83..fbc9da88 100644 --- a/src/mountinfo.c +++ b/src/mountinfo.c @@ -83,7 +83,7 @@ static int process_mount (char ***list, struct args *args, regexec (args->skip_options_regex, options, 0, NULL, 0) == 0) return (-1); - if (args->mounts) { + if (args->mounts) { bool found = false; int j; char *mnt; -- cgit v1.2.3