aboutsummaryrefslogtreecommitdiff
path: root/src/ProtocolBuffers.Serialization/JsonFormatWriter.cs
diff options
context:
space:
mode:
authorJon Skeet <skeet@pobox.com>2013-08-13 14:56:23 +0100
committerJon Skeet <skeet@pobox.com>2013-08-13 14:56:23 +0100
commitf86edcbb46c7776099b36130ad19f10a2e92e186 (patch)
tree9e5276246c7c82bc8988a17e56498dfd0077e9aa /src/ProtocolBuffers.Serialization/JsonFormatWriter.cs
parent8c8a82a2607e5663c5256892573142cefc0aea05 (diff)
downloadprotobuf-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.cs4
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;