Continue updating C#
diff --git a/src/csharp/ext/grpc_csharp_ext.c b/src/csharp/ext/grpc_csharp_ext.c
index 946f587..ee1fe0b 100644
--- a/src/csharp/ext/grpc_csharp_ext.c
+++ b/src/csharp/ext/grpc_csharp_ext.c
@@ -122,8 +122,8 @@
size_t i;
if (array->metadata) {
for (i = 0; i < array->count; i++) {
- gpr_free((void *)array->metadata[i].key);
- gpr_free((void *)array->metadata[i].value);
+ grpc_slice_unref(array->metadata[i].key);
+ grpc_slice_unref(array->metadata[i].value);
}
}
gpr_free(array->metadata);
@@ -167,10 +167,8 @@
const char *value, size_t value_length) {
size_t i = array->count;
GPR_ASSERT(array->count < array->capacity);
- array->metadata[i].key = gpr_strdup(key);
- array->metadata[i].value = (char *)gpr_malloc(value_length);
- memcpy((void *)array->metadata[i].value, value, value_length);
- array->metadata[i].value_length = value_length;
+ array->metadata[i].key = grpc_slice_from_copied_string(key);
+ array->metadata[i].value = grpc_slice_from_copied_buffer(value, value_length);
array->count++;
}