MINOR: ist: Add a case insensitive istmatch function
Add a helper function that checks if a string starts with another string
while ignoring case.
diff --git a/include/import/ist.h b/include/import/ist.h
index 08e2119..4c8979b 100644
--- a/include/import/ist.h
+++ b/include/import/ist.h
@@ -315,6 +315,26 @@
return 1;
}
+/* returns non-zero if <ist1> starts like <ist2>, ignoring the case (empty strings do match) */
+static inline int istmatchi(const struct ist ist1, const struct ist ist2)
+{
+ struct ist l = ist1;
+ struct ist r = ist2;
+
+ if (l.len < r.len)
+ return 0;
+
+ while (r.len--) {
+ if (*l.ptr != *r.ptr &&
+ ist_lc[(unsigned char)*l.ptr] != ist_lc[(unsigned char)*r.ptr])
+ return 0;
+
+ l.ptr++;
+ r.ptr++;
+ }
+ return 1;
+}
+
/* returns non-zero if <ist1> starts like <ist2> on the first <count>
* characters (empty strings do match).
*/