|
|
|
@ -52,7 +52,7 @@ static grpc_arg copy_arg(const grpc_arg *src) { |
|
|
|
|
break; |
|
|
|
|
case GRPC_ARG_POINTER: |
|
|
|
|
dst.value.pointer = src->value.pointer; |
|
|
|
|
dst.value.pointer.p = src->value.pointer.copy(src->value.pointer.p); |
|
|
|
|
dst.value.pointer.p = src->value.pointer.copy? src->value.pointer.copy(src->value.pointer.p) : src->value.pointer.p; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
return dst; |
|
|
|
@ -91,7 +91,9 @@ void grpc_channel_args_destroy(grpc_channel_args *a) { |
|
|
|
|
case GRPC_ARG_INTEGER: |
|
|
|
|
break; |
|
|
|
|
case GRPC_ARG_POINTER: |
|
|
|
|
a->args[i].value.pointer.destroy(a->args[i].value.pointer.p); |
|
|
|
|
if (a->args[i].value.pointer.destroy) { |
|
|
|
|
a->args[i].value.pointer.destroy(a->args[i].value.pointer.p); |
|
|
|
|
} |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
gpr_free(a->args[i].key); |
|
|
|
|