diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2024-10-04 18:08:35 +0200 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2024-10-28 09:23:07 +0100 |
commit | 23441a3d882930b854b827172343c4222a2c9935 (patch) | |
tree | 5751d9934838bfa61f31d5bf3611064afe8f660e /src/hostname | |
parent | sd-id128: mark functions as const, not pure (diff) | |
download | systemd-23441a3d882930b854b827172343c4222a2c9935.tar.xz systemd-23441a3d882930b854b827172343c4222a2c9935.zip |
sd-json,tree-wide: add sd_json_format_enabled() and use it everwhere
We often used a pattern like if (!FLAGS_SET(flags, SD_JSON_FORMAT_OFF)),
which is rather verbose and also contains a double negative, which we try
to avoid. Add a little helper to avoid an explicit bit check.
This change clarifies an aditional thing: in some cases we treated
SD_JSON_FORMAT_OFF as a flag (flags & SD_JSON_FORMAT_OFF), while in other cases
we treated it as an independent enum value (flags == SD_JSON_FORMAT_OFF).
In the first form, flags like SD_JSON_FORMAT_SSE do _not_ turn the json
output on, while in the second form they do. Let's use the first form
everywhere.
No functional change intended.
Initially I wasn't sure if this helper should be made public or just internal,
but it seems such a common pattern that if we expose the flags, we might just
as well expose it too, to make life easier for any consumers.
Diffstat (limited to 'src/hostname')
-rw-r--r-- | src/hostname/hostnamectl.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/hostname/hostnamectl.c b/src/hostname/hostnamectl.c index 4bbfa670b7..a537312d25 100644 --- a/src/hostname/hostnamectl.c +++ b/src/hostname/hostnamectl.c @@ -491,7 +491,7 @@ static int show_status(int argc, char **argv, void *userdata) { sd_bus *bus = userdata; int r; - if (arg_json_format_flags != SD_JSON_FORMAT_OFF) { + if (sd_json_format_enabled(arg_json_format_flags)) { _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL; _cleanup_(sd_bus_message_unrefp) sd_bus_message *reply = NULL; _cleanup_(sd_json_variant_unrefp) sd_json_variant *v = NULL; |