aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/csharp/Grpc.Core/Internal/MetadataArraySafeHandle.cs
diff options
context:
space:
mode:
authorGravatar Craig Tiller <ctiller@google.com>2017-01-26 13:50:14 -0800
committerGravatar Craig Tiller <ctiller@google.com>2017-01-26 13:50:14 -0800
commit4edd56751f8309f55922518f2598c35f3c007b1e (patch)
tree847d1a3193d47ebb2f27bd3525cbaabff1d97fa2 /src/csharp/Grpc.Core/Internal/MetadataArraySafeHandle.cs
parent6fa43c5e22ff9df748e8262c0e9a2e4a792dc8e6 (diff)
parent1291fd4b2f9f502f412c3d6cd5dd5fdc18092842 (diff)
Merge github.com:grpc/grpc into maxmsgsz
Diffstat (limited to 'src/csharp/Grpc.Core/Internal/MetadataArraySafeHandle.cs')
-rw-r--r--src/csharp/Grpc.Core/Internal/MetadataArraySafeHandle.cs10
1 files changed, 3 insertions, 7 deletions
diff --git a/src/csharp/Grpc.Core/Internal/MetadataArraySafeHandle.cs b/src/csharp/Grpc.Core/Internal/MetadataArraySafeHandle.cs
index d5b87a6c94..05dda5b148 100644
--- a/src/csharp/Grpc.Core/Internal/MetadataArraySafeHandle.cs
+++ b/src/csharp/Grpc.Core/Internal/MetadataArraySafeHandle.cs
@@ -79,13 +79,9 @@ namespace Grpc.Core.Internal
for (ulong i = 0; i < count; i++)
{
var index = new UIntPtr(i);
- UIntPtr keyLen;
- IntPtr keyPtr = Native.grpcsharp_metadata_array_get_key(metadataArray, index, out keyLen);
- string key = Marshal.PtrToStringAnsi(keyPtr, (int)keyLen.ToUInt32());
- UIntPtr valueLen;
- IntPtr valuePtr = Native.grpcsharp_metadata_array_get_value(metadataArray, index, out valueLen);
- var bytes = new byte[valueLen.ToUInt64()];
- Marshal.Copy(valuePtr, bytes, 0, bytes.Length);
+ string key = Marshal.PtrToStringAnsi(Native.grpcsharp_metadata_array_get_key(metadataArray, index));
+ var bytes = new byte[Native.grpcsharp_metadata_array_get_value_length(metadataArray, index).ToUInt64()];
+ Marshal.Copy(Native.grpcsharp_metadata_array_get_value(metadataArray, index), bytes, 0, bytes.Length);
metadata.Add(Metadata.Entry.CreateUnsafe(key, bytes));
}
return metadata;