chiark / gitweb /
execute: drop empty assignments from env blocks on execution but keep them around...
[elogind.git] / src / test-env-replace.c
index 37dd7ff590a690da1606be6e209913b686da1b21..4188c67ddedee088557305f13d4ec9c05e678c5f 100644 (file)
@@ -47,7 +47,7 @@ int main(int argc, char *argv[]) {
                 NULL
         };
 
-        char **i, **r, *t;
+        char **i, **r, *t, **a, **b;
 
         r = replace_env_argv((char**) line, (char**) env);
 
@@ -96,5 +96,24 @@ int main(int argc, char *argv[]) {
         printf("%s\n", t);
         free(t);
 
+        a = strv_new("FOO=BAR", "WALDO=WALDO", "WALDO=", "PIEP", "SCHLUMPF=SMURF", NULL);
+        b = strv_new("FOO=KKK", "FOO=", "PIEP=", "SCHLUMPF=SMURFF", "NANANANA=YES", NULL);
+
+        r = strv_env_merge(2, a, b);
+        strv_free(a);
+        strv_free(b);
+
+        STRV_FOREACH(i, r)
+                printf("%s\n", *i);
+
+        printf("CLEANED UP:\n");
+
+        r = strv_env_clean(r);
+
+        STRV_FOREACH(i, r)
+                printf("%s\n", *i);
+
+        strv_free(r);
+
         return 0;
 }