Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
* Returns true if `pattern` is a star-only globbing pattern, that is,
* it contains at least one non-escaped `*`.
*/
* Returns true if `pattern` is a star-only globbing pattern, that is,
* it contains at least one non-escaped `*`.
*/
bool strutils_is_star_glob_pattern(const char *pattern)
{
return strutils_test_glob_pattern(pattern) &
bool strutils_is_star_glob_pattern(const char *pattern)
{
return strutils_test_glob_pattern(pattern) &
* Returns true if `pattern` is a globbing pattern with a globbing,
* non-escaped star only at its very end.
*/
* Returns true if `pattern` is a globbing pattern with a globbing,
* non-escaped star only at its very end.
*/
bool strutils_is_star_at_the_end_only_glob_pattern(const char *pattern)
{
return strutils_test_glob_pattern(pattern) &
bool strutils_is_star_at_the_end_only_glob_pattern(const char *pattern)
{
return strutils_test_glob_pattern(pattern) &
#define _STRING_UTILS_H
#include <stdbool.h>
#define _STRING_UTILS_H
#include <stdbool.h>
+#include <common/macros.h>
void strutils_normalize_star_glob_pattern(char *pattern);
void strutils_normalize_star_glob_pattern(char *pattern);
bool strutils_is_star_glob_pattern(const char *pattern);
bool strutils_is_star_glob_pattern(const char *pattern);
bool strutils_is_star_at_the_end_only_glob_pattern(const char *pattern);
bool strutils_is_star_at_the_end_only_glob_pattern(const char *pattern);
char *strutils_unescape_string(const char *input, char only_char);
char *strutils_unescape_string(const char *input, char only_char);
char **strutils_split(const char *input, char delim, bool escape_delim);
char **strutils_split(const char *input, char delim, bool escape_delim);
void strutils_free_null_terminated_array_of_strings(char **array);
void strutils_free_null_terminated_array_of_strings(char **array);
size_t strutils_array_of_strings_len(char * const *array);
#endif /* _STRING_UTILS_H */
size_t strutils_array_of_strings_len(char * const *array);
#endif /* _STRING_UTILS_H */