mirror of
https://github.com/sheumann/hush.git
synced 2024-11-05 06:07:00 +00:00
5a071bcbf2
<fabio.ferrari@digitro.com.br> in the wget applet) when concat_path_file() or last_char_is() were fed a NULL. -Erik
27 lines
542 B
C
27 lines
542 B
C
/*
|
|
* busybox library eXtendet funcion
|
|
*
|
|
* concatenate path and file name to new allocation buffer,
|
|
* not addition '/' if path name already have '/'
|
|
*
|
|
*/
|
|
|
|
#include <string.h>
|
|
#include "libbb.h"
|
|
|
|
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, "%s%s%s", path, (lc==NULL)? "/" : "", filename);
|
|
|
|
return outbuf;
|
|
}
|