From: Lennart Poettering Date: Wed, 1 Mar 2017 14:46:54 +0000 (+0100) Subject: coredump: normalize generation/parsing of COREDUMP_TRUNCATED= X-Git-Tag: v233~2^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=32a1575fbd8807bad2570af0d631a0263f0eb765;p=thirdparty%2Fsystemd.git coredump: normalize generation/parsing of COREDUMP_TRUNCATED= Given that this is a field primarily processed by computers, and not so much by humans, assign "1" instead of "yes". Also, use parse_boolean() as we usually do for parsing it again. This makes things more alike udev options (as one example), such as SYSTEMD_READY where we also spit out "1" and "0", and parse with parse_boolean(). --- diff --git a/src/coredump/coredump.c b/src/coredump/coredump.c index 270af630cf9..190ffc631e9 100644 --- a/src/coredump/coredump.c +++ b/src/coredump/coredump.c @@ -795,7 +795,7 @@ log: IOVEC_SET_STRING(iovec[n_iovec++], core_message); if (truncated) - IOVEC_SET_STRING(iovec[n_iovec++], "COREDUMP_TRUNCATED=yes"); + IOVEC_SET_STRING(iovec[n_iovec++], "COREDUMP_TRUNCATED=1"); /* Optionally store the entire coredump in the journal */ if (arg_storage == COREDUMP_STORAGE_JOURNAL) { diff --git a/src/coredump/coredumpctl.c b/src/coredump/coredumpctl.c index 3e9a00bbcf7..bffb3d458f0 100644 --- a/src/coredump/coredumpctl.c +++ b/src/coredump/coredumpctl.c @@ -414,7 +414,7 @@ static int print_list(FILE* file, sd_journal *j, int had_legend) { else present = "-"; - if (STR_IN_SET(present, "present", "journal") && streq_ptr(truncated, "yes")) + if (STR_IN_SET(present, "present", "journal") && truncated && parse_boolean(truncated) > 0) present = "truncated"; fprintf(file, "%-*s %*s %*s %*s %*s %-*s %s\n", @@ -583,8 +583,10 @@ static int print_info(FILE *file, sd_journal *j, bool need_space) { fprintf(file, " Hostname: %s\n", hostname); if (filename) { - bool inacc = access(filename, R_OK) < 0; - bool trunc = streq_ptr(truncated, "yes"); + bool inacc, trunc; + + inacc = access(filename, R_OK) < 0; + trunc = truncated && parse_boolean(truncated) > 0; if (inacc || trunc) fprintf(file, " Storage: %s%s (%s%s%s)%s\n",