| /* 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 source tree. | |
| */ | |
| #include "libbb.h" | |
| /* Concatenate path and filename to new allocated buffer. | |
| * Add '/' only as needed (no duplicate // are produced). | |
| * If path is NULL, it is assumed to be "/". | |
| * filename should not be NULL. | |
| */ | |
| char* FAST_FUNC concat_path_file(const char *path, const char *filename) | |
| { | |
| char *lc; | |
| if (!path) | |
| path = ""; | |
| lc = last_char_is(path, '/'); | |
| while (*filename == '/') | |
| filename++; | |
| return xasprintf("%s%s%s", path, (lc==NULL ? "/" : ""), filename); | |
| } |