return components;
}
+char *lxc_append_paths(const char *first, const char *second)
+{
+ size_t len = strlen(first) + strlen(second) + 1;
+ const char *pattern = "%s%s";
+ char *result = NULL;
+
+ if (second[0] != '/') {
+ len += 1;
+ pattern = "%s/%s";
+ }
+
+ result = calloc(1, len);
+ if (!result)
+ return NULL;
+
+ snprintf(result, len, pattern, first, second);
+ return result;
+}
+
bool lxc_string_in_list(const char *needle, const char *haystack, char _sep)
{
char *token, *str, *saveptr = NULL;
* foo//bar -> { foo, bar, NULL }
*/
extern char **lxc_normalize_path(const char *path);
+extern char *lxc_append_paths(const char *first, const char *second);
/* Note: the following two functions use strtok(), so they will never
* consider an empty element, even if two delimiters are next to
* each other.