diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/SongFilter.cxx | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/SongFilter.cxx b/src/SongFilter.cxx index 637150c37..77fea606e 100644 --- a/src/SongFilter.cxx +++ b/src/SongFilter.cxx @@ -26,7 +26,9 @@ #include "util/ASCII.hxx" #include "util/UriUtil.hxx" +#ifdef HAVE_GLIB #include <glib.h> +#endif #include <assert.h> #include <string.h> @@ -56,10 +58,15 @@ gcc_pure static std::string CaseFold(const char *p) { +#ifdef HAVE_GLIB char *q = g_utf8_casefold(p, -1); std::string result(q); g_free(q); return result; +#else + // TODO: implement without GLib + return p; +#endif } gcc_pure @@ -83,9 +90,16 @@ SongFilter::Item::StringMatch(const char *s) const assert(s != nullptr); if (fold_case) { +#ifdef HAVE_GLIB char *p = g_utf8_casefold(s, -1); +#else + // TODO: implement without GLib + const char *p = s; +#endif const bool result = strstr(p, value.c_str()) != NULL; +#ifdef HAVE_GLIB g_free(p); +#endif return result; } else { return s == value; |