]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
serialize: add serialize_image_policy()
authorLuca Boccassi <bluca@debian.org>
Mon, 2 Oct 2023 22:35:26 +0000 (23:35 +0100)
committerLuca Boccassi <bluca@debian.org>
Thu, 12 Oct 2023 12:37:22 +0000 (13:37 +0100)
src/shared/serialize.c
src/shared/serialize.h

index 3606390b99c9ac787f7cd8b70600a1f0ebd9700a..edb232e2eef58c3d4341109e6577f08f9c54ebde 100644 (file)
@@ -240,6 +240,27 @@ int serialize_string_set(FILE *f, const char *key, Set *s) {
         return 1;
 }
 
+int serialize_image_policy(FILE *f, const char *key, const ImagePolicy *p) {
+        _cleanup_free_ char *policy = NULL;
+        int r;
+
+        assert(f);
+        assert(key);
+
+        if (!p)
+                return 0;
+
+        r = image_policy_to_string(p, /* simplify= */ false, &policy);
+        if (r < 0)
+                return r;
+
+        r = serialize_item(f, key, policy);
+        if (r < 0)
+                return r;
+
+        return 1;
+}
+
 int deserialize_read_line(FILE *f, char **ret) {
         _cleanup_free_ char *line = NULL;
         int r;
index 82657bc873276d40c9298f2130e030cc2d60ac94..5122c42793677963c564c303b68ac38ab4fa0af5 100644 (file)
@@ -4,6 +4,7 @@
 #include <stdio.h>
 
 #include "fdset.h"
+#include "image-policy.h"
 #include "macro.h"
 #include "pidref.h"
 #include "set.h"
@@ -21,6 +22,7 @@ int serialize_dual_timestamp(FILE *f, const char *key, const dual_timestamp *t);
 int serialize_strv(FILE *f, const char *key, char **l);
 int serialize_pidref(FILE *f, FDSet *fds, const char *key, PidRef *pidref);
 int serialize_string_set(FILE *f, const char *key, Set *s);
+int serialize_image_policy(FILE *f, const char *key, const ImagePolicy *p);
 
 static inline int serialize_bool(FILE *f, const char *key, bool b) {
         return serialize_item(f, key, yes_no(b));