From e51fb0c931ad6828add844af4c7e6080bc8175b0 Mon Sep 17 00:00:00 2001 From: Vincent Richard Date: Fri, 16 Sep 2005 11:05:31 +0000 Subject: [PATCH] Input buffer size. --- src/charset.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/charset.cpp b/src/charset.cpp index 9c0a2621..fd607fab 100644 --- a/src/charset.cpp +++ b/src/charset.cpp @@ -29,6 +29,7 @@ extern "C" #ifndef VMIME_BUILDING_DOC #include + #include // HACK: prototypes may differ depending on the compiler and/or system (the // second parameter may or may not be 'const'). This redeclaration is a hack @@ -103,7 +104,7 @@ void charset::convert(utility::inputStream& in, utility::outputStream& out, if (cd != reinterpret_cast (-1)) { - char inBuffer[5]; + char inBuffer[32768]; char outBuffer[32768]; size_t inPos = 0; @@ -146,7 +147,8 @@ void charset::convert(utility::inputStream& in, utility::outputStream& out, std::copy(const_cast (inPtr), inBuffer + sizeof(inBuffer), inBuffer); inPos = inLength; - prevIsInvalid = true; + if (errno != E2BIG) + prevIsInvalid = true; } } else