From 5eae3b1bd6c586dd4910e4107d9cee1870ca68f8 Mon Sep 17 00:00:00 2001 From: Vincent Richard Date: Fri, 17 Aug 2018 21:10:48 +0200 Subject: [PATCH] Fixed warnings with GCC 7. --- src/vmime/emailAddress.cpp | 2 ++ src/vmime/net/imap/IMAPParser.hpp | 4 ++++ src/vmime/utility/encoder/qpEncoder.cpp | 3 ++- src/vmime/utility/encoder/uuEncoder.cpp | 14 ++++++-------- 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/vmime/emailAddress.cpp b/src/vmime/emailAddress.cpp index a898e1ce..08c7a35b 100644 --- a/src/vmime/emailAddress.cpp +++ b/src/vmime/emailAddress.cpp @@ -218,6 +218,8 @@ void emailAddress::parseImpl else state = State_LocalPartStart; + break; + case State_LocalPartStart: if (c == '"') diff --git a/src/vmime/net/imap/IMAPParser.hpp b/src/vmime/net/imap/IMAPParser.hpp index 8b24c9ca..bad87769 100644 --- a/src/vmime/net/imap/IMAPParser.hpp +++ b/src/vmime/net/imap/IMAPParser.hpp @@ -1996,6 +1996,8 @@ public: if (name == "marked") m_type = MARKED; + break; + case 'n': if (name == "noinferiors") @@ -2003,6 +2005,8 @@ public: else if (name == "noselect") m_type = NOSELECT; + break; + case 's': if (name == "sent") diff --git a/src/vmime/utility/encoder/qpEncoder.cpp b/src/vmime/utility/encoder/qpEncoder.cpp index fe252c89..d4844ce7 100644 --- a/src/vmime/utility/encoder/qpEncoder.cpp +++ b/src/vmime/utility/encoder/qpEncoder.cpp @@ -508,7 +508,8 @@ size_t qpEncoder::decode(utility::inputStream& in, break; } - // no break here... + outBuffer[outBufferPos++] = c; + break; } default: { diff --git a/src/vmime/utility/encoder/uuEncoder.cpp b/src/vmime/utility/encoder/uuEncoder.cpp index 0375a397..5ee2c2b1 100644 --- a/src/vmime/utility/encoder/uuEncoder.cpp +++ b/src/vmime/utility/encoder/uuEncoder.cpp @@ -296,14 +296,12 @@ size_t uuEncoder::decode(utility::inputStream& in, const size_t n = std::min(inLength - i, static_cast (3)); - switch (n) - { - default: - case 3: outBuffer[j + 2] = static_cast (UUDECODE(c3) << 6 | UUDECODE(c4)); - case 2: outBuffer[j + 1] = static_cast (UUDECODE(c2) << 4 | UUDECODE(c3) >> 2); - case 1: outBuffer[j] = static_cast (UUDECODE(c1) << 2 | UUDECODE(c2) >> 4); - case 0: break; - } + if (n >= 3) + outBuffer[j + 2] = static_cast (UUDECODE(c3) << 6 | UUDECODE(c4)); + if (n >= 2) + outBuffer[j + 1] = static_cast (UUDECODE(c2) << 4 | UUDECODE(c3) >> 2); + if (n >= 1) + outBuffer[j] = static_cast (UUDECODE(c1) << 2 | UUDECODE(c2) >> 4); total += n; }