]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
shared/serialize: introduce serialize_id128()
authorMike Yuan <me@yhndnzj.com>
Mon, 13 Jan 2025 15:35:58 +0000 (16:35 +0100)
committerMike Yuan <me@yhndnzj.com>
Mon, 13 Jan 2025 20:52:13 +0000 (21:52 +0100)
src/core/unit-serialize.c
src/shared/serialize.c
src/shared/serialize.h

index 82789fdbf44f799fa9bcdc01935401579992494e..78ceb006a46f8ec50520f97dd7fc3c3a0b170404 100644 (file)
@@ -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));
 
index 67311e4fa5141fd2b8521ce579fb2afa6466923b..425e7f1ac360aa422bda7e304dd834474efddc13 100644 (file)
@@ -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;
 
index 6f5fcf44fef5ace6a0230dc8d67d0d03ce9b6e2f..b573e6cc15371ab084d237329799614b23aa9847 100644 (file)
@@ -3,6 +3,8 @@
 
 #include <stdio.h>
 
+#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);