Many programming languages don't allow variable names beginning in dots,
hence let's use double underscores for the location fields instead. This
gets us the simple rule:
__ is the prefix for location fields (i.e. fields that are used to
identify entries, rather than part of the entries)
_ is the prefix for trusted fields (i.e. those fields journald itself
adds to all entries)
no prefix for unrusted fields (i.e. all fields normal client code sends
us)
- printf(".cursor=%s\n"
- ".realtime=%llu\n"
- ".monotonic=%llu\n"
- ".boot_id=%s\n",
+ printf("__CURSOR=%s\n"
+ "__REALTIME=%llu\n"
+ "__MONOTONIC=%llu\n"
+ "__BOOT_ID=%s\n",
cursor,
(unsigned long long) realtime,
(unsigned long long) monotonic,
cursor,
(unsigned long long) realtime,
(unsigned long long) monotonic,
fputs(",\n", stdout);
printf("{\n"
fputs(",\n", stdout);
printf("{\n"
- "\t\".cursor\" : \"%s\",\n"
- "\t\".realtime\" : %llu,\n"
- "\t\".monotonic\" : %llu,\n"
- "\t\".boot_id\" : \"%s\"",
+ "\t\"__CURSOR\" : \"%s\",\n"
+ "\t\"__REALTIME\" : \"%llu\",\n"
+ "\t\"__MONOTONIC\" : \"%llu\",\n"
+ "\t\"__BOOT_ID\" : \"%s\"",
cursor,
(unsigned long long) realtime,
(unsigned long long) monotonic,
cursor,
(unsigned long long) realtime,
(unsigned long long) monotonic,