aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--include/grpcpp/impl/codegen/slice.h4
-rw-r--r--src/cpp/client/channel_cc.cc6
2 files changed, 8 insertions, 2 deletions
diff --git a/include/grpcpp/impl/codegen/slice.h b/include/grpcpp/impl/codegen/slice.h
index 8966559dc8..9cdca3ab3c 100644
--- a/include/grpcpp/impl/codegen/slice.h
+++ b/include/grpcpp/impl/codegen/slice.h
@@ -138,6 +138,10 @@ inline grpc_slice SliceFromCopiedString(const grpc::string& str) {
str.length());
}
+inline grpc_slice SliceFromArray(const char* arr, size_t len) {
+ return g_core_codegen_interface->grpc_slice_from_copied_buffer(arr, len);
+}
+
} // namespace grpc
#endif // GRPCPP_IMPL_CODEGEN_SLICE_H
diff --git a/src/cpp/client/channel_cc.cc b/src/cpp/client/channel_cc.cc
index c59059f045..5d1a9f4b96 100644
--- a/src/cpp/client/channel_cc.cc
+++ b/src/cpp/client/channel_cc.cc
@@ -20,6 +20,7 @@
#include <chrono>
#include <condition_variable>
+#include <cstring>
#include <memory>
#include <mutex>
@@ -116,10 +117,11 @@ internal::Call Channel::CreateCall(const internal::RpcMethod& method,
} else if (!host_.empty()) {
host_str = host_.c_str();
}
- grpc_slice method_slice = SliceFromCopiedString(method.name());
+ grpc_slice method_slice =
+ SliceFromArray(method.name(), strlen(method.name()));
grpc_slice host_slice;
if (host_str != nullptr) {
- host_slice = SliceFromCopiedString(host_str);
+ host_slice = SliceFromArray(host_str, strlen(host_str));
}
c_call = grpc_channel_create_call(
c_channel_, context->propagate_from_call_,