diff options
Diffstat (limited to 'libbb/concat_path_file.c')
-rw-r--r-- | libbb/concat_path_file.c | 7 |
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; } |