X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=src%2Fcommon%2Fstring-utils%2Fstring-utils.h;h=0d14840160b5c1f0e433504247c8e5995d5e5b7a;hb=395004a13b038fde13364a662d735d16937ea2d1;hp=3c1a413cee5e51cbce03c4fa410e4d7042d6e6e7;hpb=ab5be9fa2eb5ba9600a82cd18fd3cfcbac69169a;p=lttng-tools.git diff --git a/src/common/string-utils/string-utils.h b/src/common/string-utils/string-utils.h index 3c1a413ce..0d1484016 100644 --- a/src/common/string-utils/string-utils.h +++ b/src/common/string-utils/string-utils.h @@ -1,7 +1,7 @@ /* * Copyright (C) 2017 Philippe Proulx * - * SPDX-License-Identifier: GPL-2.0-only + * SPDX-License-Identifier: LGPL-2.1-only * */ @@ -10,6 +10,7 @@ #include #include +#include LTTNG_HIDDEN void strutils_normalize_star_glob_pattern(char *pattern); @@ -24,7 +25,8 @@ LTTNG_HIDDEN char *strutils_unescape_string(const char *input, char only_char); LTTNG_HIDDEN -char **strutils_split(const char *input, char delim, bool escape_delim); +int strutils_split(const char *input, char delim, bool escape_delim, + struct lttng_dynamic_pointer_array *out_strings); LTTNG_HIDDEN void strutils_free_null_terminated_array_of_strings(char **array); @@ -32,4 +34,22 @@ void strutils_free_null_terminated_array_of_strings(char **array); LTTNG_HIDDEN size_t strutils_array_of_strings_len(char * const *array); +/* + * Append `append` to the malloc-end string `str`. + * + * On success, `str` is free'd (if not NULL) and assigned a new malloc-ed + * string. On failure, `str` is not modified. + * + * Return 0 on success, -ENOMEM on failure. + */ +LTTNG_HIDDEN +int strutils_append_str(char **str, const char *append); + +/* + * Like `strutils_append_str`, but the appended string is formatted using + * `fmt` and the following arguments. + */ +LTTNG_HIDDEN +int strutils_appendf(char **s, const char *fmt, ...); + #endif /* _STRING_UTILS_H */