chiark / gitweb /
umount: log failed umounts only once at the end
[elogind.git] / src / test-env-replace.c
index 37dd7ff590a690da1606be6e209913b686da1b21..05dbacd7df49b8030a6f6a50eaf9ec0677cae5d9 100644 (file)
@@ -47,7 +47,15 @@ int main(int argc, char *argv[]) {
                 NULL
         };
 
-        char **i, **r, *t;
+        char **i, **r, *t, **a, **b;
+        const char nulstr[] = "fuck\0fuck2\0fuck3\0\0fuck5\0\0xxx";
+
+        a = strv_parse_nulstr(nulstr, sizeof(nulstr)-1);
+
+        STRV_FOREACH(i, a)
+                printf("nulstr--%s\n", *i);
+
+        strv_free(a);
 
         r = replace_env_argv((char**) line, (char**) env);
 
@@ -96,5 +104,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;
 }