From 4aca87515a5083ae0e31ce3177189fd43b6d05ac Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Sat, 3 Jan 2015 13:58:15 +0100 Subject: patch to Vanilla Tomato 1.28 --- .../src/router/busybox/libbb/concat_path_file.c | 27 ++++++++++++---------- 1 file changed, 15 insertions(+), 12 deletions(-) (limited to 'release/src/router/busybox/libbb/concat_path_file.c') diff --git a/release/src/router/busybox/libbb/concat_path_file.c b/release/src/router/busybox/libbb/concat_path_file.c index 86dd2fbb..fb533547 100644 --- a/release/src/router/busybox/libbb/concat_path_file.c +++ b/release/src/router/busybox/libbb/concat_path_file.c @@ -1,26 +1,29 @@ +/* vi: set sw=4 ts=4: */ /* - * busybox library eXtendet funcion + * Utility routines. * - * concatenate path and file name to new allocation buffer, - * not addition '/' if path name already have '/' + * 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 #include "libbb.h" -extern char *concat_path_file(const char *path, const char *filename) +char* FAST_FUNC concat_path_file(const char *path, const char *filename) { - char *outbuf; char *lc; if (!path) - path=""; + path = ""; lc = last_char_is(path, '/'); while (*filename == '/') filename++; - outbuf = xmalloc(strlen(path)+strlen(filename)+1+(lc==NULL)); - sprintf(outbuf, "%s%s%s", path, (lc==NULL)? "/" : "", filename); - - return outbuf; + return xasprintf("%s%s%s", path, (lc==NULL ? "/" : ""), filename); } -- cgit v1.2.3-54-g00ecf