Fixed estimation of generated size when no re-encoding is needed.
This commit is contained in:
parent
e071de8a60
commit
9df44078b8
@ -544,10 +544,18 @@ size_t body::getGeneratedSize(const generationContext& ctx)
|
|||||||
// Simple body
|
// Simple body
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
shared_ptr <utility::encoder::encoder> srcEncoder = m_contents->getEncoding().getEncoder();
|
if (getEncoding() == m_contents->getEncoding())
|
||||||
shared_ptr <utility::encoder::encoder> dstEncoder = getEncoding().getEncoder();
|
{
|
||||||
|
// No re-encoding has to be performed
|
||||||
|
return m_contents->getLength();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
shared_ptr <utility::encoder::encoder> srcEncoder = m_contents->getEncoding().getEncoder();
|
||||||
|
shared_ptr <utility::encoder::encoder> dstEncoder = getEncoding().getEncoder();
|
||||||
|
|
||||||
return dstEncoder->getEncodedSize(srcEncoder->getDecodedSize(m_contents->getLength()));
|
return dstEncoder->getEncodedSize(srcEncoder->getDecodedSize(m_contents->getLength()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user