p_delete(p);
}
-int rx_list_match(list2_t *l, const char *pat)
+int rx_list_match(rx_t *l, const char *pat)
{
- int i;
-
- if (!pat || !*pat || list_empty(l))
+ if (!pat || !*pat)
return 0;
- for (i = 0; i < l->length; i++) {
- if (!REGEXEC(((rx_t*)l->data[i])->rx, pat))
+ while (l) {
+ if (!REGEXEC(l->rx, pat))
return 1;
+ l = l->next;
}
return 0;
}
-int rx_lookup (list2_t *l, const char *pat)
+rx_t **rx_lookup(rx_t **l, const char *pat)
{
- int i;
-
- if (!pat || !*pat || list_empty(l))
- return -1;
+ if (!pat || !*pat)
+ return NULL;
- for (i = 0; i < l->length; i++) {
- if (!strcmp(((rx_t*)l->data[i])->pattern, pat))
- return i;
+ while (*l) {
+ if (!strcmp((*l)->pattern, pat))
+ return l;
+ l = &(*l)->next;
}
- return -1;
+ return NULL;
}
int rx_sanitize_string(char *dst, ssize_t n, const char *src)