From: Luca Boccassi Date: Mon, 2 Oct 2023 22:35:26 +0000 (+0100) Subject: serialize: add serialize_image_policy() X-Git-Tag: v255-rc1~250^2~8 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=665c6e46e38a3a8c7cb012f0b4e817e17fbe15fb;p=thirdparty%2Fsystemd.git serialize: add serialize_image_policy() --- diff --git a/src/shared/serialize.c b/src/shared/serialize.c index 3606390b99c..edb232e2eef 100644 --- a/src/shared/serialize.c +++ b/src/shared/serialize.c @@ -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; diff --git a/src/shared/serialize.h b/src/shared/serialize.h index 82657bc8732..5122c427936 100644 --- a/src/shared/serialize.h +++ b/src/shared/serialize.h @@ -4,6 +4,7 @@ #include #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));