aboutsummaryrefslogtreecommitdiffstats
path: root/src/utility/encoder/uuEncoder.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/utility/encoder/uuEncoder.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/utility/encoder/uuEncoder.cpp b/src/utility/encoder/uuEncoder.cpp
index 00d90cee..3f751d3b 100644
--- a/src/utility/encoder/uuEncoder.cpp
+++ b/src/utility/encoder/uuEncoder.cpp
@@ -326,6 +326,22 @@ utility::stream::size_type uuEncoder::decode(utility::inputStream& in,
}
+utility::stream::size_type uuEncoder::getEncodedSize(const utility::stream::size_type n) const
+{
+ // 3 bytes of input provide 4 bytes of output.
+ // Count CRLF (2 bytes) for each line of 45 characters.
+ // Also reserve some space for header and footer.
+ return 200 + n * 3 + (n / 45) * 2;
+}
+
+
+utility::stream::size_type uuEncoder::getDecodedSize(const utility::stream::size_type n) const
+{
+ // 4 bytes of input provide 3 bytes of output
+ return (n * 3) / 4;
+}
+
+
} // encoder
} // utility
} // vmime