From 1282a67fe6c96cd609a9d5a88b0aa4a59ec09d24 Mon Sep 17 00:00:00 2001
From: Craig Tiller <ctiller@google.com>
Date: Fri, 18 Nov 2016 14:57:53 -0800
Subject: [PATCH] Take advantage of grpc_metadata/grpc_mdelem equivalency

---
 src/core/lib/surface/call.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/core/lib/surface/call.c b/src/core/lib/surface/call.c
index 009163037e..ec7f1a92c3 100644
--- a/src/core/lib/surface/call.c
+++ b/src/core/lib/surface/call.c
@@ -596,19 +596,19 @@ static int prepare_application_metadata(
         get_md_elem(metadata, additional_metadata, i, count);
     grpc_linked_mdelem *l = (grpc_linked_mdelem *)&md->internal_data;
     GPR_ASSERT(sizeof(grpc_linked_mdelem) == sizeof(md->internal_data));
-    l->md = grpc_mdelem_from_slices(exec_ctx, md->key, md->value);
-    if (!grpc_header_key_is_legal(GRPC_MDKEY(l->md))) {
+    if (!grpc_header_key_is_legal(md->key)) {
       char *str = grpc_dump_slice(md->key, GPR_DUMP_ASCII);
       gpr_log(GPR_ERROR, "attempt to send invalid metadata key: %s", str);
       gpr_free(str);
       break;
-    } else if (!grpc_is_binary_header(GRPC_MDKEY(l->md)) &&
+    } else if (!grpc_is_binary_header(md->value) &&
                !grpc_header_nonbin_value_is_legal(GRPC_MDVALUE(l->md))) {
       char *str = grpc_dump_slice(md->value, GPR_DUMP_HEX | GPR_DUMP_ASCII);
       gpr_log(GPR_ERROR, "attempt to send invalid metadata value: %s", str);
       gpr_free(str);
       break;
     }
+    l->md = grpc_mdelem_from_grpc_metadata(exec_ctx, (grpc_metadata *)md);
   }
   if (i != total_count) {
     for (int j = 0; j <= i; j++) {
-- 
GitLab