From: Michihiro NAKAJIMA Date: Sun, 27 Nov 2011 05:05:44 +0000 (-0500) Subject: Correct a bit flag check. do not confuse SCONV_FROM_UTF16BE and SCONV_FROM_UTF16LE. X-Git-Tag: v3.0.1b~10 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e5cfa06071a294ff7d7eb20b432554e5154ecd70;p=thirdparty%2Flibarchive.git Correct a bit flag check. do not confuse SCONV_FROM_UTF16BE and SCONV_FROM_UTF16LE. SVN-Revision: 3855 --- diff --git a/libarchive/archive_string.c b/libarchive/archive_string.c index 27b69a662..9d58cfd9e 100644 --- a/libarchive/archive_string.c +++ b/libarchive/archive_string.c @@ -1088,9 +1088,11 @@ setup_converter(struct archive_string_conv *sc) } #endif - if (sc->flag & (SCONV_BEST_EFFORT | SCONV_FROM_UTF16BE)) + if ((sc->flag & (SCONV_BEST_EFFORT | SCONV_FROM_UTF16BE)) + == (SCONV_BEST_EFFORT | SCONV_FROM_UTF16BE)) add_converter(sc, best_effort_strncat_from_utf16be); - else if (sc->flag & (SCONV_BEST_EFFORT | SCONV_FROM_UTF16LE)) + else if ((sc->flag & (SCONV_BEST_EFFORT | SCONV_FROM_UTF16LE)) + == (SCONV_BEST_EFFORT | SCONV_FROM_UTF16LE)) add_converter(sc, best_effort_strncat_from_utf16le); else /* Make sure we have no converter. */