hush/libbb/concat_path_file.c
Eric Andersen c911a4389b Patch from Vladimir:
1) fixed a bug that could crash df, mount, and umount applets if the root
    device name was longer then the word "root" (/dev/loop1 vs /dev/root) -
    2) severl functions needed static declaration in the umount applet
    3) update declaration for function in last_char_is() in libbb
2001-05-15 17:42:16 +00:00

23 lines
495 B
C

/*
* 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;
char *lc;
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);
return outbuf;
}