logs: Adapt interface in log-show.c (show_journal_by_unit)

Convert more flag arguments into one flag variable.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2012-07-17 07:35:07 +02:00 committed by Lennart Poettering
parent 25277cd7fb
commit 085d71209b
3 changed files with 13 additions and 10 deletions

View File

@ -553,15 +553,14 @@ int show_journal_by_unit(
unsigned n_columns,
usec_t not_before,
unsigned how_many,
bool show_all,
bool follow,
bool warn_cutoff) {
OutputFlags flags) {
char *m = NULL;
sd_journal *j = NULL;
int r;
unsigned line = 0;
bool need_seek = false;
int warn_cutoff = flags & OUTPUT_WARN_CUTOFF;
assert(mode >= 0);
assert(mode < _OUTPUT_MODE_MAX);
@ -633,8 +632,7 @@ int show_journal_by_unit(
line ++;
r = output_journal(j, mode, line, n_columns,
show_all ? OUTPUT_SHOW_ALL : 0);
r = output_journal(j, mode, line, n_columns, flags);
if (r < 0)
goto finish;
}
@ -659,7 +657,7 @@ int show_journal_by_unit(
warn_cutoff = false;
}
if (!follow)
if (!(flags & OUTPUT_FOLLOW))
break;
r = sd_journal_wait(j, (usec_t) -1);

View File

@ -42,6 +42,8 @@ typedef enum OutputMode {
typedef enum OutputFlags {
OUTPUT_SHOW_ALL = 1 << 0,
OUTPUT_MONOTONIC_MODE = 1 << 1,
OUTPUT_FOLLOW = 1 << 2,
OUTPUT_WARN_CUTOFF = 1 << 3,
} OutputFlags;
int output_journal(sd_journal *j, OutputMode mode, unsigned line,
@ -53,9 +55,7 @@ int show_journal_by_unit(
unsigned n_columns,
usec_t not_before,
unsigned how_many,
bool show_all,
bool follow,
bool warn_cutoff);
OutputFlags flags);
const char* output_mode_to_string(OutputMode m);
OutputMode output_mode_from_string(const char *s);

View File

@ -2592,8 +2592,13 @@ static void print_status_info(UnitStatusInfo *i) {
}
if (i->id && arg_transport != TRANSPORT_SSH) {
int flags = (arg_lines*OUTPUT_SHOW_ALL |
arg_follow*OUTPUT_FOLLOW |
!arg_quiet*OUTPUT_WARN_CUTOFF);
printf("\n");
show_journal_by_unit(i->id, arg_output, 0, i->inactive_exit_timestamp_monotonic, arg_lines, arg_all, arg_follow, !arg_quiet);
show_journal_by_unit(i->id, arg_output, 0,
i->inactive_exit_timestamp_monotonic,
arg_lines, flags);
}
if (i->need_daemon_reload)