summaryrefslogtreecommitdiff
path: root/src/basic/env-util.h
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2017-02-10 21:44:21 -0500
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2017-02-20 18:49:14 -0500
commitfe902fa496abb4583c5befaf671a2402b650cd14 (patch)
treea328afdd51df65ebaaf1a219f8056ef41e1049d8 /src/basic/env-util.h
parent71cb7d306ab42712f274337c457ac5cbdeff363c (diff)
core/manager: move environment serialization out to basic/env-util.c
This protocol is generally useful, we might just as well reuse it for the env. generators. The implementation is changed a bit: instead of making a new strv and freeing the old one, just mutate the original. This is much faster with larger arrays, while in fact atomicity is preserved, since we only either insert the new entry or not, without being in inconsistent state. v2: - fix confusion with return value
Diffstat (limited to 'src/basic/env-util.h')
-rw-r--r--src/basic/env-util.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/basic/env-util.h b/src/basic/env-util.h
index 8cb0fc2131..90df5b1cd9 100644
--- a/src/basic/env-util.h
+++ b/src/basic/env-util.h
@@ -21,6 +21,7 @@
#include <stdbool.h>
#include <stddef.h>
+#include <stdio.h>
#include "macro.h"
@@ -50,3 +51,6 @@ char *strv_env_get_n(char **l, const char *name, size_t k) _pure_;
char *strv_env_get(char **x, const char *n) _pure_;
int getenv_bool(const char *p);
+
+int serialize_environment(FILE *f, char **environment);
+int deserialize_environment(char ***environment, const char *line);