1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2025-01-13 13:17:43 +03:00

coredumpctl: add --no-legend option

Useful for completion generation.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2012-10-30 09:45:19 +01:00
parent 2fb7a5ce67
commit 9a34088094
2 changed files with 16 additions and 2 deletions

View File

@ -98,6 +98,13 @@
pager.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--no-legend</option></term>
<listitem><para>Do not print the column headers.
</para></listitem>
</varlistentry>
</variablelist>
<para>The following commands are understood:</para>

View File

@ -45,6 +45,7 @@ static Set *matches = NULL;
static FILE* output = NULL;
static int arg_no_pager = false;
static int arg_no_legend = false;
static Set *new_matches(void) {
Set *set;
@ -138,6 +139,7 @@ static int parse_argv(int argc, char *argv[]) {
enum {
ARG_VERSION = 0x100,
ARG_NO_PAGER,
ARG_NO_LEGEND,
};
int r, c;
@ -146,6 +148,7 @@ static int parse_argv(int argc, char *argv[]) {
{ "help", no_argument, NULL, 'h' },
{ "version" , no_argument, NULL, ARG_VERSION },
{ "no-pager", no_argument, NULL, ARG_NO_PAGER },
{ "no-legend", no_argument, NULL, ARG_NO_LEGEND },
{ "output", required_argument, NULL, 'o' },
{ NULL, 0, NULL, 0 }
};
@ -171,6 +174,10 @@ static int parse_argv(int argc, char *argv[]) {
arg_no_pager = true;
break;
case ARG_NO_LEGEND:
arg_no_legend = true;
break;
case 'o':
if (output) {
log_error("cannot set output more than once");
@ -242,7 +249,7 @@ static int retrieve(const void *data,
return 0;
}
static int print_entry(FILE* file, sd_journal *j, int had_header) {
static int print_entry(FILE* file, sd_journal *j, int had_legend) {
const char _cleanup_free_
*pid = NULL, *uid = NULL, *gid = NULL,
*sgnl = NULL, *exe = NULL;
@ -278,7 +285,7 @@ static int print_entry(FILE* file, sd_journal *j, int had_header) {
format_timestamp(buf, sizeof(buf), t);
if (!had_header)
if (!had_legend && !arg_no_legend)
fprintf(file, "%-*s %*s %*s %*s %*s %s\n",
FORMAT_TIMESTAMP_MAX-1, "TIME",
6, "PID",