summaryrefslogtreecommitdiffstats
path: root/libnetdata/simple_pattern/simple_pattern.c
diff options
context:
space:
mode:
Diffstat (limited to 'libnetdata/simple_pattern/simple_pattern.c')
-rw-r--r--libnetdata/simple_pattern/simple_pattern.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/libnetdata/simple_pattern/simple_pattern.c b/libnetdata/simple_pattern/simple_pattern.c
index ab4b9de3c..70b06a22b 100644
--- a/libnetdata/simple_pattern/simple_pattern.c
+++ b/libnetdata/simple_pattern/simple_pattern.c
@@ -331,3 +331,35 @@ extern int simple_pattern_is_potential_name(SIMPLE_PATTERN *p)
}
return (alpha || wildcards) && !colon;
}
+
+char *simple_pattern_trim_around_equal(char *src) {
+ char *store = mallocz(strlen(src) +1);
+ if(!store)
+ return NULL;
+
+ char *dst = store;
+ while (*src) {
+ if (*src == '=') {
+ if (*(dst -1) == ' ')
+ dst--;
+
+ *dst++ = *src++;
+ if (*src == ' ')
+ src++;
+ }
+
+ *dst++ = *src++;
+ }
+ *dst = 0x00;
+
+ return store;
+}
+
+char *simple_pattern_iterate(SIMPLE_PATTERN **p)
+{
+ struct simple_pattern *root = (struct simple_pattern *) *p;
+ struct simple_pattern **Proot = (struct simple_pattern **)p;
+
+ (*Proot) = (*Proot)->next;
+ return (char *) root->match;
+}