From 6a08f2281a66b3d41a02350d2ba75f453976faac Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Mon, 17 Feb 2014 22:33:10 +0100 Subject: TagString: disable UTF-8 validation if GLib is disabled --- src/tag/TagString.cxx | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/tag/TagString.cxx b/src/tag/TagString.cxx index a519080b4..0c3868eb5 100644 --- a/src/tag/TagString.cxx +++ b/src/tag/TagString.cxx @@ -21,12 +21,16 @@ #include "TagString.hxx" #include "util/Alloc.hxx" +#ifdef HAVE_GLIB #include +#endif #include #include #include +#ifdef HAVE_GLIB + /** * Replace invalid sequences with the question mark. */ @@ -72,6 +76,8 @@ fix_utf8(const char *str, size_t length) return patch_utf8(str, length, end); } +#endif + static bool char_is_non_printable(unsigned char ch) { @@ -113,19 +119,23 @@ clear_non_printable(const char *p, size_t length) char * FixTagString(const char *p, size_t length) { - char *utf8, *cleared; +#ifdef HAVE_GLIB + // TODO: implement without GLib - utf8 = fix_utf8(p, length); + char *utf8 = fix_utf8(p, length); if (utf8 != nullptr) { p = utf8; length = strlen(p); } +#endif - cleared = clear_non_printable(p, length); + char *cleared = clear_non_printable(p, length); +#ifdef HAVE_GLIB if (cleared == nullptr) cleared = utf8; else free(utf8); +#endif return cleared; } -- cgit v1.2.3