-int matchpattern(char *in, char *pattern, int caseinsensitive);
-stringlist_t *stringlistappend(stringlist_t *current, char *text);
-void stringlistfree(stringlist_t *current);
-stringlist_t *stringlistsort(stringlist_t *start);
-stringlist_t *listdirectory(const char *path);
-void freedirectory(stringlist_t *list);
+int matchpattern(const char *in, const char *pattern, int caseinsensitive);
+int matchpattern_with_separator(const char *in, const char *pattern, int caseinsensitive, const char *separators, qboolean wildcard_least_one);
+void stringlistinit(stringlist_t *list);
+void stringlistfreecontents(stringlist_t *list);
+void stringlistappend(stringlist_t *list, const char *text);
+void stringlistsort(stringlist_t *list);
+void listdirectory(stringlist_t *list, const char *basepath, const char *path);