diff options
-rw-r--r-- | src/vmime/encoding.cpp | 2 | ||||
-rw-r--r-- | tests/parser/charsetTest.cpp | 11 |
2 files changed, 12 insertions, 1 deletions
diff --git a/src/vmime/encoding.cpp b/src/vmime/encoding.cpp index e66e268a..bca31573 100644 --- a/src/vmime/encoding.cpp +++ b/src/vmime/encoding.cpp @@ -157,7 +157,7 @@ const encoding encoding::decideImpl( const string::difference_type length = end - begin; const string::difference_type count = std::count_if( - begin, end, [](unsigned char x) { return x < 127; }); + begin, end, [](unsigned char x) { return x <= 127; }); // All is in 7-bit US-ASCII --> 7-bit (or Quoted-Printable...) if (length == count) { diff --git a/tests/parser/charsetTest.cpp b/tests/parser/charsetTest.cpp index 01b04e11..362cb5f0 100644 --- a/tests/parser/charsetTest.cpp +++ b/tests/parser/charsetTest.cpp @@ -36,6 +36,7 @@ VMIME_TEST_SUITE_BEGIN(charsetTest) VMIME_TEST(testConvertStreamValid) VMIME_TEST(testConvertStreamExtract) VMIME_TEST(testEncodingHebrew1255) + //VMIME_TEST(testEncodingSelectionOnASCII) // IDNA VMIME_TEST(testEncodeIDNA) @@ -141,6 +142,16 @@ VMIME_TEST_SUITE_BEGIN(charsetTest) VASSERT_EQ("1", "=?windows-1255?B?6fn3+On5+Pfp6fk=?=", encoded); } +#if 0 /* decideImpl is not public */ + void testEncodingSelectionOnASCII() { + + const std::string a = "Hi\x01!", b = "Hi\x7f!"; + VASSERT_EQ("1", vmime::encoding::decideImpl(std::begin(a), std::end(a)), + vmime::encoding::decideImpl(std::begin(b), std::end(b))); + + } +#endif + static const vmime::string convertHelper( const vmime::string& in, const vmime::charset& csrc, |