aboutsummaryrefslogtreecommitdiff
path: root/libbb/concat_path_file.c
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2001-04-09 22:48:12 +0000
committerEric Andersen <andersen@codepoet.org>2001-04-09 22:48:12 +0000
commite5dfced23a904d08afa5dcee190c3c3d845d9f50 (patch)
treeef367ee8a9096884fb40debdc9e10af8583f9d5f /libbb/concat_path_file.c
parenta75e2867435faa68ea03735fe09ad298fa3e4e72 (diff)
downloadbusybox-e5dfced23a904d08afa5dcee190c3c3d845d9f50.tar.gz
Apply Vladimir's latest cleanup patch.
-Erik
Diffstat (limited to 'libbb/concat_path_file.c')
-rw-r--r--libbb/concat_path_file.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/libbb/concat_path_file.c b/libbb/concat_path_file.c
new file mode 100644
index 000000000..d53dc0e2e
--- /dev/null
+++ b/libbb/concat_path_file.c
@@ -0,0 +1,24 @@
+/*
+ * busybox library eXtendet funcion
+ *
+ * concatenate path and file name to new allocation buffer,
+ * not addition '/' if path name already have '/'
+ *
+*/
+
+#include "libbb.h"
+
+extern char *concat_path_file(const char *path, const char *filename)
+{
+ char *outbuf;
+ int l;
+ int flg_slash = 1;
+
+ l = strlen(path);
+ if(l>0 && path[l-1] == '/')
+ flg_slash--;
+ l += strlen(filename);
+ outbuf = xmalloc(l+1+flg_slash);
+ sprintf(outbuf, (flg_slash ? "%s/%s" : "%s%s"), path, filename);
+ return outbuf;
+}