/* 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 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. */ #include "libbb.h" 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); }