]> sourceware.org Git - lvm2.git/commitdiff
string: Add first_substring().
authorAlasdair G Kergon <agk@redhat.com>
Thu, 14 Jul 2016 13:46:38 +0000 (14:46 +0100)
committerAlasdair G Kergon <agk@redhat.com>
Thu, 14 Jul 2016 13:46:38 +0000 (14:46 +0100)
lib/misc/lvm-string.c
lib/misc/lvm-string.h

index 809c63c13ba61dedfb25b6385dab3d8380673b22..cdcc993d3da4d776fd53e2926c570164d2a85008 100644 (file)
@@ -243,3 +243,19 @@ char *build_dm_uuid(struct dm_pool *mem, const struct logical_volume *lv,
 
        return dlid;
 }
+
+char *first_substring(const char *str, ...)
+{
+       char *substr, *r = NULL;
+       va_list ap;
+
+       va_start(ap, str);
+
+       while ((substr = va_arg(ap, char *)))
+               if ((r = strstr(str, substr)))
+                       break;
+
+       va_end(ap);
+
+       return r;
+}
index d96dad5806d2b4b2db64072ad287115215bd641e..ebdf95652834fd963534fe86b6003622f6806262 100644 (file)
@@ -49,4 +49,12 @@ void copy_systemid_chars(const char *src, char *dst);
 int apply_lvname_restrictions(const char *name);
 int is_reserved_lvname(const char *name);
 
+/*
+ * Provided with a NULL-terminated argument list of const char *
+ * substrings that might be contained within the string str, use
+ * strstr() to search str for each in turn and return a pointer to the
+ * first match or else NULL.
+ */
+char *first_substring(const char *str, ...);
+
 #endif
This page took 0.040756 seconds and 5 git commands to generate.