--- libvmime-0.7.1.orig/src/charset.cpp 2005-03-18 22:26:46.000000000 +0100 +++ libvmime-0.7.1.patched/src/charset.cpp 2008-07-07 13:51:33.414160106 +0200 @@ -206,10 +206,12 @@ out += STRINGT(static_cast (buffer), sizeof(buffer) - outBytesLeft); // Ignore this "blocking" character and continue + if (outBytesLeft > 0) { out += '?'; ++inBuffer; --inBytesLeft; } + } else { out += STRINGT(static_cast (buffer), sizeof(buffer) - outBytesLeft);