aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/php/ext/grpc/call.c
diff options
context:
space:
mode:
authorGravatar Craig Tiller <ctiller@google.com>2016-12-09 09:29:19 -0800
committerGravatar Craig Tiller <ctiller@google.com>2016-12-09 09:29:19 -0800
commit3bfb00486aee85081b34fe1391704fdf5207f384 (patch)
tree3313202573c17dc9385a34ade73d2c76d42c5965 /src/php/ext/grpc/call.c
parent00fc99dc2060a6eadfd8227da8b565d2d13baeb0 (diff)
Convert more of PHP
Diffstat (limited to 'src/php/ext/grpc/call.c')
-rw-r--r--src/php/ext/grpc/call.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/php/ext/grpc/call.c b/src/php/ext/grpc/call.c
index 85fb994afd..1b963f2dbe 100644
--- a/src/php/ext/grpc/call.c
+++ b/src/php/ext/grpc/call.c
@@ -164,7 +164,7 @@ bool create_metadata_array(zval *array, grpc_metadata_array *metadata) {
if (key_type1 != HASH_KEY_IS_STRING) {
return false;
}
- if (!grpc_header_key_is_legal(key1, strlen(key1))) {
+ if (!grpc_header_key_is_legal(grpc_slice_from_static_string(key1))) {
return false;
}
inner_array_hash = Z_ARRVAL_P(inner_array);
@@ -172,9 +172,8 @@ bool create_metadata_array(zval *array, grpc_metadata_array *metadata) {
if (Z_TYPE_P(value) != IS_STRING) {
return false;
}
- metadata->metadata[metadata->count].key = key1;
- metadata->metadata[metadata->count].value = Z_STRVAL_P(value);
- metadata->metadata[metadata->count].value_length = Z_STRLEN_P(value);
+ metadata->metadata[metadata->count].key = grpc_slice_from_copied_string(key1);
+ metadata->metadata[metadata->count].value = grpc_slice_from_copied_buffer(Z_STRVAL_P(value), Z_STRLEN_P(value));
metadata->count += 1;
PHP_GRPC_HASH_FOREACH_END()
PHP_GRPC_HASH_FOREACH_END()
@@ -229,10 +228,15 @@ PHP_METHOD(Call, __construct) {
}
add_property_zval(getThis(), "channel", channel_obj);
wrapped_grpc_timeval *deadline = Z_WRAPPED_GRPC_TIMEVAL_P(deadline_obj);
+ grpc_slice method_slice = grpc_slice_from_copied_string(method);
+ grpc_slice host_slice = host_override != NULL ?
+ grpc_slice_from_copied_string(host_override) : grpc_empty_slice();
call->wrapped =
grpc_channel_create_call(channel->wrapped, NULL, GRPC_PROPAGATE_DEFAULTS,
- completion_queue, method, host_override,
+ completion_queue, method_slice, host_override != NULL ? &host_slice : NULL,
deadline->wrapped, NULL);
+ grpc_slice_unref(method_slice);
+ grpc_slice_unref(host_slice);
call->owned = true;
}