chiark / gitweb /
util-lib: add easy helpers for temporary directories that rmdir()ed via _cleanup_
[elogind.git] / src / basic / fileio.c
index f4915b28a7092f91d2c3d7ae5f8c2582738b5cf6..8241e656addefef6263b832389fbb46a60974140 100644 (file)
@@ -1414,3 +1414,22 @@ int read_nul_string(FILE *f, char **ret) {
 
         return 0;
 }
+
+int mkdtemp_malloc(const char *template, char **ret) {
+        char *p;
+
+        assert(template);
+        assert(ret);
+
+        p = strdup(template);
+        if (!p)
+                return -ENOMEM;
+
+        if (!mkdtemp(p)) {
+                free(p);
+                return -errno;
+        }
+
+        *ret = p;
+        return 0;
+}