hush/libbb/concat_path_file.c

28 lines
609 B
C
Raw Normal View History

/* vi: set sw=4 ts=4: */
/*
* Utility routines.
*
* Copyright (C) many different people.
* If you wrote this, please acknowledge your work.
*
* Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
*/
/* concatenate path and file name to new allocation buffer,
* not addition '/' if path name already have '/'
*/
#include "libbb.h"
char *concat_path_file(const char *path, const char *filename)
{
char *lc;
if (!path)
2005-05-09 21:51:15 +00:00
path = "";
lc = last_char_is(path, '/');
while (*filename == '/')
filename++;
return xasprintf("%s%s%s", path, (lc==NULL ? "/" : ""), filename);
}