chiark / gitweb /
journal: don't export the boot id twice per entry
authorLennart Poettering <lennart@poettering.net>
Tue, 3 Apr 2012 23:00:09 +0000 (01:00 +0200)
committerLennart Poettering <lennart@poettering.net>
Tue, 3 Apr 2012 23:00:09 +0000 (01:00 +0200)
src/logs-show.c

index 158223fc0a9eee051b0b12669aafae4f059d03c8..a6220351b65c73403271a4abc8c86a52b1e37138 100644 (file)
@@ -350,7 +350,7 @@ static int output_export(sd_journal *j, unsigned line, unsigned n_columns, bool
         printf("__CURSOR=%s\n"
                "__REALTIME_TIMESTAMP=%llu\n"
                "__MONOTONIC_TIMESTAMP=%llu\n"
-               "__BOOT_ID=%s\n",
+               "_BOOT_ID=%s\n",
                cursor,
                (unsigned long long) realtime,
                (unsigned long long) monotonic,
@@ -360,6 +360,12 @@ static int output_export(sd_journal *j, unsigned line, unsigned n_columns, bool
 
         SD_JOURNAL_FOREACH_DATA(j, data, length) {
 
+                /* We already printed the boot id, from the data in
+                 * the header, hence let's suppress it here */
+                if (length >= 9 &&
+                    memcmp(data, "_BOOT_ID=", 9) == 0)
+                        continue;
+
                 if (contains_unprintable(data, length)) {
                         const char *c;
                         uint64_t le64;
@@ -462,7 +468,7 @@ static int output_json(sd_journal *j, unsigned line, unsigned n_columns, bool sh
                "\t\"__CURSOR\" : \"%s\",\n"
                "\t\"__REALTIME_TIMESTAMP\" : \"%llu\",\n"
                "\t\"__MONOTONIC_TIMESTAMP\" : \"%llu\",\n"
-               "\t\"__BOOT_ID\" : \"%s\"",
+               "\t\"_BOOT_ID\" : \"%s\"",
                cursor,
                (unsigned long long) realtime,
                (unsigned long long) monotonic,
@@ -473,6 +479,12 @@ static int output_json(sd_journal *j, unsigned line, unsigned n_columns, bool sh
         SD_JOURNAL_FOREACH_DATA(j, data, length) {
                 const char *c;
 
+                /* We already printed the boot id, from the data in
+                 * the header, hence let's suppress it here */
+                if (length >= 9 &&
+                    memcmp(data, "_BOOT_ID=", 9) == 0)
+                        continue;
+
                 c = memchr(data, '=', length);
                 if (!c) {
                         log_error("Invalid field.");