diff --git a/src/finit.c b/src/finit.c index 3879ad59..c0c16443 100644 --- a/src/finit.c +++ b/src/finit.c @@ -47,8 +47,6 @@ #include "utmp-api.h" #include "watchdog.h" -int quiet = QUIET_MODE; /* Delayed disable of silent mode. */ -int silent = SILENT_MODE; /* Completely silent, including boot */ int wdogpid = 0; /* No watchdog by default */ int runlevel = 0; /* Bootstrap 'S' */ int cfglevel = RUNLEVEL; /* Fallback if no configured runlevel */ @@ -63,17 +61,15 @@ char *console = NULL; uev_ctx_t *ctx = NULL; /* Main loop context */ -static int banner(void) +static void banner(void) { char buf[42] = INIT_HEADING; const char separator[] = "========================================================================"; - if (silent) - return 0; + if (log_is_silent()) + return; fprintf(stderr, "\e[2K\e[1m%s %.*s\e[0m\n", buf, 66 - (int)strlen(buf), separator); - - return 0; } /* Requires /proc to be mounted */ @@ -422,8 +418,7 @@ int main(int argc, char* argv[]) tty_runlevel(runlevel); /* Enable silent mode, if selected */ - if (quiet && !debug) - silent = 1; + log_silent(); /* Start new initctl API responder */ api_init(&loop); diff --git a/src/finit.h b/src/finit.h index 424781db..f8fe51a3 100644 --- a/src/finit.h +++ b/src/finit.h @@ -89,8 +89,6 @@ struct init_request { char data[368]; }; -extern int quiet; -extern int silent; extern int wdogpid; extern int runlevel; extern int cfglevel; diff --git a/src/getty.c b/src/getty.c index f5fe17a2..67c3c228 100644 --- a/src/getty.c +++ b/src/getty.c @@ -99,7 +99,7 @@ static void stty(int fd, speed_t speed) tcsetattr(fd, TCSANOW, &term); /* Clear screen in silent mode */ - if (silent) + if (log_is_silent()) print("\033[r\033[H\033[J"); } diff --git a/src/helpers.c b/src/helpers.c index f0d04677..91482a15 100644 --- a/src/helpers.c +++ b/src/helpers.c @@ -88,7 +88,7 @@ void print(int action, const char *fmt, ...) const char pending[] = " \e[1m[ \\/ ]\e[0m\n"; const char dots[] = " ....................................................................."; - if (silent) + if (log_is_silent()) return; if (fmt) { diff --git a/src/log.c b/src/log.c index d6061f9a..bdfa0391 100644 --- a/src/log.c +++ b/src/log.c @@ -31,6 +31,8 @@ #include "log.h" static int debug = 0; +static int quiet = QUIET_MODE; /* Delayed disable of silent mode. */ +static int silent = SILENT_MODE; /* Completely silent, including boot */ static int loglevel = LOG_NOTICE; void log_init(int qit, int dbg) @@ -53,6 +55,19 @@ void log_exit(void) } } +void log_silent(void) +{ + if (quiet && !debug) + silent = 1; + else + silent = 0; +} + +int log_is_silent(void) +{ + return silent; +} + void log_debug(void) { debug = !debug; diff --git a/src/log.h b/src/log.h index 4c7a621d..1195152c 100644 --- a/src/log.h +++ b/src/log.h @@ -43,6 +43,9 @@ void log_init (int qit, int dbg); void log_exit (void); +void log_silent (void); +int log_is_silent (void); + void log_debug (void); int log_is_debug (void);