summaryrefslogtreecommitdiff
path: root/libbb/concat_path_file.c
diff options
context:
space:
mode:
Diffstat (limited to 'libbb/concat_path_file.c')
-rw-r--r--libbb/concat_path_file.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/libbb/concat_path_file.c b/libbb/concat_path_file.c
index 61efa9c..c699a84 100644
--- a/libbb/concat_path_file.c
+++ b/libbb/concat_path_file.c
@@ -13,11 +13,14 @@ extern char *concat_path_file(const char *path, const char *filename)
{
char *outbuf;
char *lc;
-
+
+ if (!path)
+ path="";
lc = last_char_is(path, '/');
if (filename[0] == '/')
filename++;
outbuf = xmalloc(strlen(path)+strlen(filename)+1+(lc==NULL));
- sprintf(outbuf, (lc==NULL ? "%s/%s" : "%s%s"), path, filename);
+ sprintf(outbuf, "%s%s%s", path, (lc==NULL)? "/" : "", filename);
+
return outbuf;
}