summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.clang-format3
-rw-r--r--src/basic/string-util.c77
-rw-r--r--src/basic/string-util.h18
3 files changed, 0 insertions, 98 deletions
diff --git a/.clang-format b/.clang-format
index ab27960a67..8e5cfca535 100644
--- a/.clang-format
+++ b/.clang-format
@@ -74,9 +74,6 @@ ForEachMacros:
- FOREACH_INOTIFY_EVENT
- FOREACH_STRING
- FOREACH_SUBSYSTEM
- - _FOREACH_WORD
- - FOREACH_WORD
- - FOREACH_WORD_SEPARATOR
- HASHMAP_FOREACH
- HASHMAP_FOREACH_IDX
- HASHMAP_FOREACH_KEY
diff --git a/src/basic/string-util.c b/src/basic/string-util.c
index c4f86b4ee2..ab725d0dab 100644
--- a/src/basic/string-util.c
+++ b/src/basic/string-util.c
@@ -112,83 +112,6 @@ char* first_word(const char *s, const char *word) {
return (char*) p;
}
-static size_t strcspn_escaped(const char *s, const char *reject) {
- bool escaped = false;
- int n;
-
- for (n = 0; s[n] != '\0'; n++) {
- if (escaped)
- escaped = false;
- else if (s[n] == '\\')
- escaped = true;
- else if (strchr(reject, s[n]))
- break;
- }
-
- return n;
-}
-
-/* Split a string into words. */
-const char* split(
- const char **state,
- size_t *l,
- const char *separator,
- SplitFlags flags) {
-
- const char *current;
-
- assert(state);
- assert(l);
-
- if (!separator)
- separator = WHITESPACE;
-
- current = *state;
-
- if (*current == '\0') /* already at the end? */
- return NULL;
-
- current += strspn(current, separator); /* skip leading separators */
- if (*current == '\0') { /* at the end now? */
- *state = current;
- return NULL;
- }
-
- if (FLAGS_SET(flags, SPLIT_QUOTES)) {
-
- if (strchr(QUOTES, *current)) {
- /* We are looking at a quote */
- *l = strcspn_escaped(current + 1, CHAR_TO_STR(*current));
- if (current[*l + 1] != *current ||
- (current[*l + 2] != 0 && !strchr(separator, current[*l + 2]))) {
- /* right quote missing or garbage at the end */
- if (FLAGS_SET(flags, SPLIT_RELAX)) {
- *state = current + *l + 1 + (current[*l + 1] != '\0');
- return current + 1;
- }
- *state = current;
- return NULL;
- }
- *state = current++ + *l + 2;
-
- } else {
- /* We are looking at a something that is not a quote */
- *l = strcspn_escaped(current, separator);
- if (current[*l] && !strchr(separator, current[*l]) && !FLAGS_SET(flags, SPLIT_RELAX)) {
- /* unfinished escape */
- *state = current;
- return NULL;
- }
- *state = current + *l;
- }
- } else {
- *l = strcspn(current, separator);
- *state = current + *l;
- }
-
- return current;
-}
-
char *strnappend(const char *s, const char *suffix, size_t b) {
size_t a;
char *r;
diff --git a/src/basic/string-util.h b/src/basic/string-util.h
index 087fb7c907..cefbda3577 100644
--- a/src/basic/string-util.h
+++ b/src/basic/string-util.h
@@ -108,24 +108,6 @@ char *endswith_no_case(const char *s, const char *postfix) _pure_;
char *first_word(const char *s, const char *word) _pure_;
-typedef enum SplitFlags {
- SPLIT_QUOTES = 0x01 << 0,
- SPLIT_RELAX = 0x01 << 1,
-} SplitFlags;
-
-/* Smelly. Do not use this anymore. Use extract_first_word() instead! */
-const char* split(const char **state, size_t *l, const char *separator, SplitFlags flags);
-
-/* Similar, don't use this anymore */
-#define FOREACH_WORD(word, length, s, state) \
- _FOREACH_WORD(word, length, s, WHITESPACE, 0, state)
-
-#define FOREACH_WORD_SEPARATOR(word, length, s, separator, state) \
- _FOREACH_WORD(word, length, s, separator, 0, state)
-
-#define _FOREACH_WORD(word, length, s, separator, flags, state) \
- for ((state) = (s), (word) = split(&(state), &(length), (separator), (flags)); (word); (word) = split(&(state), &(length), (separator), (flags)))
-
char *strnappend(const char *s, const char *suffix, size_t length);
char *strjoin_real(const char *x, ...) _sentinel_;