Patch from Vladimir:
[platform/upstream/busybox.git] / libbb / concat_path_file.c
1 /*
2  * busybox library eXtendet funcion
3  *
4  * concatenate path and file name to new allocation buffer,
5  * not addition '/' if path name already have '/'
6  *
7 */
8
9 #include "libbb.h"
10
11 extern char *concat_path_file(const char *path, const char *filename)
12 {
13         char *outbuf;
14         char *lc;
15         
16         lc = last_char_is(path, '/');
17         if (filename[0] == '/')
18                 filename++;
19         outbuf = xmalloc(strlen(path)+strlen(filename)+1+(lc==NULL));
20         sprintf(outbuf, (lc==NULL ? "%s/%s" : "%s%s"), path, filename);
21         return outbuf;
22 }