Commit 3393c136 caused regression. The klogctl() logging range is 1-8, but the value 0 is special according to setterm.1 manual page. It turns on loging, same way as '-msg on' option. Signed-off-by: Sami Kerola <kerolasa@xxxxxx> --- bash-completion/setterm | 2 +- term-utils/setterm.c | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/bash-completion/setterm b/bash-completion/setterm index f47debf..8e0f629 100644 --- a/bash-completion/setterm +++ b/bash-completion/setterm @@ -51,7 +51,7 @@ _setterm_module() return 0 ;; '-msglevel') - COMPREPLY=( $(compgen -W "{1..8}" -- $cur) ) + COMPREPLY=( $(compgen -W "{0..8}" -- $cur) ) return 0 ;; '-powersave') diff --git a/term-utils/setterm.c b/term-utils/setterm.c index 3a02347..2f9151c 100644 --- a/term-utils/setterm.c +++ b/term-utils/setterm.c @@ -134,7 +134,7 @@ enum { /* Console log levels */ enum { - CONSOLE_LEVEL_MIN = 1, + CONSOLE_LEVEL_MIN = 0, CONSOLE_LEVEL_MAX = 8 }; @@ -446,16 +446,14 @@ usage(FILE *out) { fputs(_(" -append <1-NR_CONSOLES>\n"), out); fputs(_(" -file dumpfilename\n"), out); fputs(_(" -msg <on|off>\n"), out); - fputs(_(" -msglevel <0-8>\n"), out); /* FIXME: klogctl console_log range is 1-8 */ + fputs(_(" -msglevel <0-8>\n"), out); fputs(_(" -powersave <on|vsync|hsync|powerdown|off>\n"), out); fputs(_(" -powerdown <0-60>\n"), out); fputs(_(" -blength <0-2000>\n"), out); fputs(_(" -bfreq freqnumber\n"), out); fputs(_(" -version\n"), out); fputs(_(" -help\n"), out); - fprintf(out, USAGE_MAN_TAIL("setterm(1)")); - exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS); } @@ -660,6 +658,10 @@ static void parse_option(struct setterm_control *ctl, int argc, char **argv) case OPT_MSGLEVEL: ctl->opt_msglevel = set_opt_flag(ctl->opt_msglevel); ctl->opt_msglevel_num = parse_msglevel(optarg); + if (ctl->opt_msglevel_num == 0) { + ctl->opt_msg = set_opt_flag(ctl->opt_msg); + ctl->opt_msg_on |= 1; + } break; case OPT_POWERSAVE: ctl->opt_powersave = set_opt_flag(ctl->opt_powersave); @@ -1031,7 +1033,7 @@ static void perform_sequence(struct setterm_control *ctl) } /* -msglevel [0-8] */ - if (ctl->opt_msglevel && ctl->vcterm) { + if (ctl->opt_msglevel_num && ctl->vcterm) { /* 8 -- Set level of messages printed to console */ result = klogctl(SYSLOG_ACTION_CONSOLE_LEVEL, NULL, ctl->opt_msglevel_num); if (result != 0) -- 1.9.2 -- To unsubscribe from this list: send the line "unsubscribe util-linux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html