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 tarball for details.
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