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