diff options
author | Jon Skeet <skeet@pobox.com> | 2013-08-13 14:56:23 +0100 |
---|---|---|
committer | Jon Skeet <skeet@pobox.com> | 2013-08-13 14:56:23 +0100 |
commit | f86edcbb46c7776099b36130ad19f10a2e92e186 (patch) | |
tree | 9e5276246c7c82bc8988a17e56498dfd0077e9aa /src/ProtocolBuffers.Serialization/JsonFormatWriter.cs | |
parent | 8c8a82a2607e5663c5256892573142cefc0aea05 (diff) | |
download | protobuf-f86edcbb46c7776099b36130ad19f10a2e92e186.tar.gz protobuf-f86edcbb46c7776099b36130ad19f10a2e92e186.tar.bz2 protobuf-f86edcbb46c7776099b36130ad19f10a2e92e186.zip |
When we write a single character to a JSON output, make sure we actually have
an output before flushing.
Fixes issue 64.
Diffstat (limited to 'src/ProtocolBuffers.Serialization/JsonFormatWriter.cs')
-rw-r--r-- | src/ProtocolBuffers.Serialization/JsonFormatWriter.cs | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/ProtocolBuffers.Serialization/JsonFormatWriter.cs b/src/ProtocolBuffers.Serialization/JsonFormatWriter.cs index 1c71dc95..15e0424e 100644 --- a/src/ProtocolBuffers.Serialization/JsonFormatWriter.cs +++ b/src/ProtocolBuffers.Serialization/JsonFormatWriter.cs @@ -82,6 +82,10 @@ namespace Google.ProtocolBuffers.Serialization {
if (_bufferPos >= _buffer.Length)
{
+ if (_output == null)
+ {
+ _output = new StringWriter(new StringBuilder(_buffer.Length * 2));
+ }
Flush();
}
_buffer[_bufferPos++] = ch;
|