Reflected changes to ProtoBuf classes

Reflected the changes made to the ProtoBuf classes to both sides.
This commit is contained in:
yankejustin 2015-03-17 14:08:22 -04:00
parent 245fb58ad4
commit 1bed14532c
1 changed files with 20 additions and 15 deletions

View File

@ -27,18 +27,18 @@ void IExtension.EndAppend(Stream stream, bool commit)
int len;
if (commit && (len = (int)stream.Length) > 0)
{
MemoryStream ms = (MemoryStream)stream;
if (buffer == null)
{ // allocate new buffer
buffer = ms.ToArray();
}
else
{ // resize and copy the data
// note: Array.Resize not available on CF
int offset = buffer.Length;
byte[] tmp = new byte[offset + len];
Helpers.BlockCopy(buffer, 0, tmp, 0, offset);
using (MemoryStream ms = (MemoryStream)stream)
{
if (buffer == null)
{ // allocate new buffer
buffer = ms.ToArray();
}
else
{ // resize and copy the data
// note: Array.Resize not available on CF
int offset = buffer.Length;
byte[] tmp = new byte[offset + len];
Helpers.BlockCopy(buffer, 0, tmp, 0, offset);
#if PORTABLE || WINRT // no GetBuffer() - fine, we'll use Read instead
int bytesRead;
@ -52,9 +52,10 @@ void IExtension.EndAppend(Stream stream, bool commit)
if(len != 0) throw new EndOfStreamException();
ms.Position = oldPos;
#else
Helpers.BlockCopy(ms.GetBuffer(), 0, tmp, offset, len);
Helpers.BlockCopy(ms.GetBuffer(), 0, tmp, offset, len);
#endif
buffer = tmp;
buffer = tmp;
}
}
}
}
@ -67,7 +68,11 @@ Stream IExtension.BeginQuery()
void IExtension.EndQuery(Stream stream)
{
using (stream) { } // just clean up
// Clean up
if (stream != null)
{
stream.Dispose();
}
}
}
}