Magellan Linux

Contents of /tags/mkinitrd-6_1_5/busybox/libbb/concat_path_file.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 899 - (show annotations) (download)
Wed Aug 5 17:52:52 2009 UTC (14 years, 10 months ago) by niro
File MIME type: text/plain
File size: 703 byte(s)
tagged 'mkinitrd-6_1_5'
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
19 char* 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 }