diff options
Diffstat (limited to 'src/libmain')
-rw-r--r-- | src/libmain/shared.cc | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/libmain/shared.cc b/src/libmain/shared.cc index 4796629dc48c..e869ef0379ad 100644 --- a/src/libmain/shared.cc +++ b/src/libmain/shared.cc @@ -168,10 +168,11 @@ static void initAndRun(int argc, char * * argv) remaining.clear(); /* Process default options. */ + int verbosityDelta = lvlInfo; for (Strings::iterator i = args.begin(); i != args.end(); ++i) { string arg = *i; - if (arg == "--verbose" || arg == "-v") verbosity = (Verbosity) (verbosity + 1); - else if (arg == "--quiet") verbosity = verbosity > lvlError ? (Verbosity) (verbosity - 1) : lvlError; + if (arg == "--verbose" || arg == "-v") verbosityDelta++; + else if (arg == "--quiet") verbosityDelta--; else if (arg == "--log-type") { string s = getArg(arg, i, args.end()); setLogType(s); @@ -218,6 +219,8 @@ static void initAndRun(int argc, char * * argv) else remaining.push_back(arg); } + verbosity = (Verbosity) (verbosityDelta < 0 ? 0 : verbosityDelta); + settings.update(); run(remaining); |