summaryrefslogtreecommitdiff
path: root/util/libreboot-utils/lib/string.c
diff options
context:
space:
mode:
Diffstat (limited to 'util/libreboot-utils/lib/string.c')
-rw-r--r--util/libreboot-utils/lib/string.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/util/libreboot-utils/lib/string.c b/util/libreboot-utils/lib/string.c
index 99864b82..7388cf35 100644
--- a/util/libreboot-utils/lib/string.c
+++ b/util/libreboot-utils/lib/string.c
@@ -270,6 +270,27 @@ out:
return *rval;
}
+int
+dup_pair(char **dir, const char *d,
+ char **base, const char *b)
+{
+ char *dtmp = NULL;
+ char *btmp = NULL;
+
+ if (d && sdup(d, PATH_MAX, &dtmp) == NULL)
+ return -1;
+
+ if (b && sdup(b, PATH_MAX, &btmp) == NULL) {
+ free(dtmp);
+ return -1;
+ }
+
+ *dir = dtmp;
+ *base = btmp;
+
+ return 0;
+}
+
/* strict word-based strdup */
char *
sdup(const char *s,