aboutsummaryrefslogtreecommitdiff
path: root/csharp/src/ProtocolBuffers
diff options
context:
space:
mode:
authorJon Skeet <skeet@pobox.com>2015-06-17 15:34:29 +0100
committerJon Skeet <skeet@pobox.com>2015-06-17 15:34:29 +0100
commita0f956932df52ead0223a68243b5862c7b037cf1 (patch)
tree936dbb844dbe79d2493b2addf528654523df6968 /csharp/src/ProtocolBuffers
parenta09b491080b5756d19c132f840ede5a7920b8d87 (diff)
downloadprotobuf-a0f956932df52ead0223a68243b5862c7b037cf1.tar.gz
protobuf-a0f956932df52ead0223a68243b5862c7b037cf1.tar.bz2
protobuf-a0f956932df52ead0223a68243b5862c7b037cf1.zip
Use our "local" copy of Encoding.UTF8 in CodedInputStream too.
Diffstat (limited to 'csharp/src/ProtocolBuffers')
-rw-r--r--csharp/src/ProtocolBuffers/CodedInputStream.cs4
-rw-r--r--csharp/src/ProtocolBuffers/CodedOutputStream.ComputeSize.cs2
-rw-r--r--csharp/src/ProtocolBuffers/CodedOutputStream.cs9
3 files changed, 8 insertions, 7 deletions
diff --git a/csharp/src/ProtocolBuffers/CodedInputStream.cs b/csharp/src/ProtocolBuffers/CodedInputStream.cs
index 447adbb1..56283318 100644
--- a/csharp/src/ProtocolBuffers/CodedInputStream.cs
+++ b/csharp/src/ProtocolBuffers/CodedInputStream.cs
@@ -339,12 +339,12 @@ namespace Google.Protobuf
{
// Fast path: We already have the bytes in a contiguous buffer, so
// just copy directly from it.
- String result = Encoding.UTF8.GetString(buffer, bufferPos, size);
+ String result = CodedOutputStream.Utf8Encoding.GetString(buffer, bufferPos, size);
bufferPos += size;
return result;
}
// Slow path: Build a byte array first then copy it.
- return Encoding.UTF8.GetString(ReadRawBytes(size), 0, size);
+ return CodedOutputStream.Utf8Encoding.GetString(ReadRawBytes(size), 0, size);
}
/// <summary>
diff --git a/csharp/src/ProtocolBuffers/CodedOutputStream.ComputeSize.cs b/csharp/src/ProtocolBuffers/CodedOutputStream.ComputeSize.cs
index e3d2b068..ef1f4c0c 100644
--- a/csharp/src/ProtocolBuffers/CodedOutputStream.ComputeSize.cs
+++ b/csharp/src/ProtocolBuffers/CodedOutputStream.ComputeSize.cs
@@ -135,7 +135,7 @@ namespace Google.Protobuf
/// </summary>
public static int ComputeStringSize(String value)
{
- int byteArraySize = UTF8.GetByteCount(value);
+ int byteArraySize = Utf8Encoding.GetByteCount(value);
return ComputeRawVarint32Size((uint) byteArraySize) +
byteArraySize;
}
diff --git a/csharp/src/ProtocolBuffers/CodedOutputStream.cs b/csharp/src/ProtocolBuffers/CodedOutputStream.cs
index 6c135e86..1e6e7e55 100644
--- a/csharp/src/ProtocolBuffers/CodedOutputStream.cs
+++ b/csharp/src/ProtocolBuffers/CodedOutputStream.cs
@@ -59,7 +59,8 @@ namespace Google.Protobuf
/// </remarks>
public sealed partial class CodedOutputStream
{
- private static readonly Encoding UTF8 = Encoding.UTF8;
+ // "Local" copy of Encoding.UTF8, for efficiency. (Yes, it makes a difference.)
+ internal static readonly Encoding Utf8Encoding = Encoding.UTF8;
/// <summary>
/// The buffer size used by CreateInstance(Stream).
@@ -240,7 +241,7 @@ namespace Google.Protobuf
{
// Optimise the case where we have enough space to write
// the string directly to the buffer, which should be common.
- int length = UTF8.GetByteCount(value);
+ int length = Utf8Encoding.GetByteCount(value);
WriteRawVarint32((uint)length);
if (limit - position >= length)
{
@@ -253,13 +254,13 @@ namespace Google.Protobuf
}
else
{
- UTF8.GetBytes(value, 0, value.Length, buffer, position);
+ Utf8Encoding.GetBytes(value, 0, value.Length, buffer, position);
}
position += length;
}
else
{
- byte[] bytes = UTF8.GetBytes(value);
+ byte[] bytes = Utf8Encoding.GetBytes(value);
WriteRawBytes(bytes);
}
}