SF#3563999: Size BinaryWriter based on buffer's capacity(), not size()

This commit is contained in:
Aleksandar Fabijanic
2012-09-07 04:10:35 +00:00
parent f6e6dbc0b7
commit 1801cb6dd8
2 changed files with 13 additions and 4 deletions

View File

@@ -179,14 +179,18 @@ public:
BasicMemoryBinaryReader(Buffer<T>& data, StreamByteOrder byteOrder = NATIVE_BYTE_ORDER): BasicMemoryBinaryReader(Buffer<T>& data, StreamByteOrder byteOrder = NATIVE_BYTE_ORDER):
BinaryReader(_istr, byteOrder), BinaryReader(_istr, byteOrder),
_data(data), _data(data),
_istr(data.begin(), data.size()) _istr(data.begin(), data.capacity())
{ {
} }
BasicMemoryBinaryReader(Buffer<T>& data, TextEncoding& encoding, StreamByteOrder byteOrder = NATIVE_BYTE_ORDER): BasicMemoryBinaryReader(Buffer<T>& data, TextEncoding& encoding, StreamByteOrder byteOrder = NATIVE_BYTE_ORDER):
BinaryReader(_istr, encoding, byteOrder), BinaryReader(_istr, encoding, byteOrder),
_data(data), _data(data),
_istr(data.begin(), data.size()) _istr(data.begin(), data.capacity())
{
}
~BasicMemoryBinaryReader()
{ {
} }

View File

@@ -194,17 +194,22 @@ public:
BasicMemoryBinaryWriter(Buffer<T>& data, StreamByteOrder byteOrder = NATIVE_BYTE_ORDER): BasicMemoryBinaryWriter(Buffer<T>& data, StreamByteOrder byteOrder = NATIVE_BYTE_ORDER):
BinaryWriter(_ostr, byteOrder), BinaryWriter(_ostr, byteOrder),
_data(data), _data(data),
_ostr(data.begin(), data.size()) _ostr(data.begin(), data.capacity())
{ {
} }
BasicMemoryBinaryWriter(Buffer<T>& data, TextEncoding& encoding, StreamByteOrder byteOrder = NATIVE_BYTE_ORDER): BasicMemoryBinaryWriter(Buffer<T>& data, TextEncoding& encoding, StreamByteOrder byteOrder = NATIVE_BYTE_ORDER):
BinaryWriter(_ostr, encoding, byteOrder), BinaryWriter(_ostr, encoding, byteOrder),
_data(data), _data(data),
_ostr(data.begin(), data.size()) _ostr(data.begin(), data.capacity())
{ {
} }
~BasicMemoryBinaryWriter()
{
flush();
}
Buffer<T>& data() Buffer<T>& data()
{ {
return _data; return _data;