|
|
0b5e55 |
From dd3bc51a539ffdd5c6c6b7d0b20acd1f61bdd337 Mon Sep 17 00:00:00 2001
|
|
|
0b5e55 |
From: Karel Zak <kzak@redhat.com>
|
|
|
0b5e55 |
Date: Mon, 6 Jan 2014 16:48:13 +0100
|
|
|
0b5e55 |
Subject: [PATCH] lib/path: add path_strdup()
|
|
|
0b5e55 |
|
|
|
0b5e55 |
Signed-off-by: Karel Zak <kzak@redhat.com>
|
|
|
0b5e55 |
---
|
|
|
0b5e55 |
include/path.h | 2 ++
|
|
|
0b5e55 |
lib/path.c | 13 +++++++++++++
|
|
|
0b5e55 |
2 files changed, 15 insertions(+)
|
|
|
0b5e55 |
|
|
|
0b5e55 |
diff --git a/include/path.h b/include/path.h
|
|
|
0b5e55 |
index 615d284..45da692 100644
|
|
|
0b5e55 |
--- a/include/path.h
|
|
|
0b5e55 |
+++ b/include/path.h
|
|
|
0b5e55 |
@@ -4,6 +4,8 @@
|
|
|
0b5e55 |
#include <stdio.h>
|
|
|
0b5e55 |
#include <stdint.h>
|
|
|
0b5e55 |
|
|
|
0b5e55 |
+extern char *path_strdup(const char *path, ...)
|
|
|
0b5e55 |
+ __attribute__ ((__format__ (__printf__, 1, 2)));
|
|
|
0b5e55 |
extern FILE *path_fopen(const char *mode, int exit_on_err, const char *path, ...)
|
|
|
0b5e55 |
__attribute__ ((__format__ (__printf__, 3, 4)));
|
|
|
0b5e55 |
extern void path_read_str(char *result, size_t len, const char *path, ...)
|
|
|
0b5e55 |
diff --git a/lib/path.c b/lib/path.c
|
|
|
0b5e55 |
index 1f7e258..42d321c 100644
|
|
|
0b5e55 |
--- a/lib/path.c
|
|
|
0b5e55 |
+++ b/lib/path.c
|
|
|
0b5e55 |
@@ -49,6 +49,19 @@ path_vcreate(const char *path, va_list ap)
|
|
|
0b5e55 |
return pathbuf;
|
|
|
0b5e55 |
}
|
|
|
0b5e55 |
|
|
|
0b5e55 |
+char *
|
|
|
0b5e55 |
+path_strdup(const char *path, ...)
|
|
|
0b5e55 |
+{
|
|
|
0b5e55 |
+ const char *p;
|
|
|
0b5e55 |
+ va_list ap;
|
|
|
0b5e55 |
+
|
|
|
0b5e55 |
+ va_start(ap, path);
|
|
|
0b5e55 |
+ p = path_vcreate(path, ap);
|
|
|
0b5e55 |
+ va_end(ap);
|
|
|
0b5e55 |
+
|
|
|
0b5e55 |
+ return p ? strdup(p) : NULL;
|
|
|
0b5e55 |
+}
|
|
|
0b5e55 |
+
|
|
|
0b5e55 |
static FILE *
|
|
|
0b5e55 |
path_vfopen(const char *mode, int exit_on_error, const char *path, va_list ap)
|
|
|
0b5e55 |
{
|
|
|
0b5e55 |
--
|
|
|
0b5e55 |
1.8.4.2
|
|
|
0b5e55 |
|