]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
lib/path: add path_strdup()
authorKarel Zak <kzak@redhat.com>
Mon, 6 Jan 2014 15:48:13 +0000 (16:48 +0100)
committerKarel Zak <kzak@redhat.com>
Mon, 6 Jan 2014 15:48:13 +0000 (16:48 +0100)
Signed-off-by: Karel Zak <kzak@redhat.com>
include/path.h
lib/path.c

index 615d28491aad7d5f966d828426438785a38eb5ba..45da692f8169e929cb4214c5f9ea49add12f2d24 100644 (file)
@@ -4,6 +4,8 @@
 #include <stdio.h>
 #include <stdint.h>
 
+extern char *path_strdup(const char *path, ...)
+                       __attribute__ ((__format__ (__printf__, 1, 2)));
 extern FILE *path_fopen(const char *mode, int exit_on_err, const char *path, ...)
                        __attribute__ ((__format__ (__printf__, 3, 4)));
 extern void path_read_str(char *result, size_t len, const char *path, ...)
index 1f7e25806c0644b8791514e9611ff68f5f429e78..42d321cb61584a29e48f3a47de880692dbb20ef1 100644 (file)
@@ -49,6 +49,19 @@ path_vcreate(const char *path, va_list ap)
        return pathbuf;
 }
 
+char *
+path_strdup(const char *path, ...)
+{
+       const char *p;
+       va_list ap;
+
+       va_start(ap, path);
+       p = path_vcreate(path, ap);
+       va_end(ap);
+
+       return p ? strdup(p) : NULL;
+}
+
 static FILE *
 path_vfopen(const char *mode, int exit_on_error, const char *path, va_list ap)
 {