From: Mike Yuan Date: Mon, 13 Jan 2025 15:35:58 +0000 (+0100) Subject: shared/serialize: introduce serialize_id128() X-Git-Tag: v258-rc1~1622^2~6 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=38a2c2bf6a89def24007c0dac529c07da713abfb;p=thirdparty%2Fsystemd.git shared/serialize: introduce serialize_id128() --- diff --git a/src/core/unit-serialize.c b/src/core/unit-serialize.c index 82789fdbf44..78ceb006a46 100644 --- a/src/core/unit-serialize.c +++ b/src/core/unit-serialize.c @@ -117,8 +117,7 @@ int unit_serialize_state(Unit *u, FILE *f, FDSet *fds, bool switching_root) { if (gid_is_valid(u->ref_gid)) (void) serialize_item_format(f, "ref-gid", GID_FMT, u->ref_gid); - if (!sd_id128_is_null(u->invocation_id)) - (void) serialize_item_format(f, "invocation-id", SD_ID128_FORMAT_STR, SD_ID128_FORMAT_VAL(u->invocation_id)); + (void) serialize_id128(f, "invocation-id", u->invocation_id); (void) serialize_item(f, "freezer-state", freezer_state_to_string(u->freezer_state)); diff --git a/src/shared/serialize.c b/src/shared/serialize.c index 67311e4fa51..425e7f1ac36 100644 --- a/src/shared/serialize.c +++ b/src/shared/serialize.c @@ -182,6 +182,16 @@ int serialize_strv(FILE *f, const char *key, char * const *l) { return ret; } +int serialize_id128(FILE *f, const char *key, sd_id128_t id) { + assert(f); + assert(key); + + if (sd_id128_is_null(id)) + return 0; + + return serialize_item_format(f, key, SD_ID128_FORMAT_STR, SD_ID128_FORMAT_VAL(id)); +} + int serialize_pidref(FILE *f, FDSet *fds, const char *key, PidRef *pidref) { int r; diff --git a/src/shared/serialize.h b/src/shared/serialize.h index 6f5fcf44fef..b573e6cc153 100644 --- a/src/shared/serialize.h +++ b/src/shared/serialize.h @@ -3,6 +3,8 @@ #include +#include "sd-id128.h" + #include "fdset.h" #include "image-policy.h" #include "macro.h" @@ -22,6 +24,7 @@ int serialize_fd_many(FILE *f, FDSet *fds, const char *key, const int fd_array[] int serialize_usec(FILE *f, const char *key, usec_t usec); int serialize_dual_timestamp(FILE *f, const char *key, const dual_timestamp *t); int serialize_strv(FILE *f, const char *key, char * const *l); +int serialize_id128(FILE *f, const char *key, sd_id128_t id); int serialize_pidref(FILE *f, FDSet *fds, const char *key, PidRef *pidref); int serialize_ratelimit(FILE *f, const char *key, const RateLimit *rl); int serialize_string_set(FILE *f, const char *key, const Set *s);