1/* vi: set sw=4 ts=4: */ 2/* 3 * Utility routines. 4 * 5 * Copyright (C) many different people. 6 * If you wrote this, please acknowledge your work. 7 * 8 * Licensed under GPLv2 or later, see file LICENSE in this source tree. 9 */ 10 11/* Concatenate path and filename to new allocated buffer. 12 * Add '/' only as needed (no duplicate // are produced). 13 * If path is NULL, it is assumed to be "/". 14 * filename should not be NULL. 15 */ 16 17#include "libbb.h" 18 19char* FAST_FUNC concat_path_file(const char *path, const char *filename) 20{ 21 char *lc; 22 23 if (!path) 24 path = ""; 25 lc = last_char_is(path, '/'); 26 while (*filename == '/') 27 filename++; 28 return xasprintf("%s%s%s", path, (lc==NULL ? "/" : ""), filename); 29} 30