summaryrefslogtreecommitdiff
path: root/libbb/concat_path_file.c
diff options
context:
space:
mode:
authorDenis Vlasenko2006-12-27 04:35:09 +0000
committerDenis Vlasenko2006-12-27 04:35:09 +0000
commit7b76233290bd9dead1848f28ed6d0edfcceb8e09 (patch)
treeb963999fc54eddb65f1929b894f868e24851fc9c /libbb/concat_path_file.c
downloadbusybox-1_3_0.zip
busybox-1_3_0.tar.gz
Correcting tag name to be like previous ones1_3_0
Diffstat (limited to 'libbb/concat_path_file.c')
-rw-r--r--libbb/concat_path_file.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/libbb/concat_path_file.c b/libbb/concat_path_file.c
new file mode 100644
index 0000000..9aae601
--- /dev/null
+++ b/libbb/concat_path_file.c
@@ -0,0 +1,27 @@
+/* vi: set sw=4 ts=4: */
+/*
+ * Utility routines.
+ *
+ * Copyright (C) many different people.
+ * If you wrote this, please acknowledge your work.
+ *
+ * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
+ */
+
+/* concatenate path and file name to new allocation buffer,
+ * not adding '/' if path name already has '/'
+*/
+
+#include "libbb.h"
+
+char *concat_path_file(const char *path, const char *filename)
+{
+ char *lc;
+
+ if (!path)
+ path = "";
+ lc = last_char_is(path, '/');
+ while (*filename == '/')
+ filename++;
+ return xasprintf("%s%s%s", path, (lc==NULL ? "/" : ""), filename);
+}