From 776cff3dc78c4018a7926db4c4c432c882de17a2 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Sat, 7 Sep 2013 01:52:46 +0900 Subject: [PATCH] src: Use std::unique_ptr for nv --- src/shrpx_http2_upstream.cc | 5 ++--- src/shrpx_spdy_upstream.cc | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/shrpx_http2_upstream.cc b/src/shrpx_http2_upstream.cc index ee19496d..0e24b4eb 100644 --- a/src/shrpx_http2_upstream.cc +++ b/src/shrpx_http2_upstream.cc @@ -858,7 +858,7 @@ int Http2Upstream::on_downstream_header_complete(Downstream *downstream) auto end_headers = std::end(downstream->get_response_headers()); size_t nheader = downstream->get_response_headers().size(); // 4 means :status and possible via header field. - const char **nv = new const char*[nheader * 2 + 4 + 1]; + auto nv = util::make_unique(nheader * 2 + 4 + 1); size_t hdidx = 0; std::string via_value; auto response_status = @@ -899,9 +899,8 @@ int Http2Upstream::on_downstream_header_complete(Downstream *downstream) data_prd.read_callback = spdy_data_read_callback; int rv; - rv = nghttp2_submit_response(session_, downstream->get_stream_id(), nv, + rv = nghttp2_submit_response(session_, downstream->get_stream_id(), nv.get(), &data_prd); - delete [] nv; if(rv != 0) { ULOG(FATAL, this) << "nghttp2_submit_response() failed"; return -1; diff --git a/src/shrpx_spdy_upstream.cc b/src/shrpx_spdy_upstream.cc index ec10fab0..db0b7066 100644 --- a/src/shrpx_spdy_upstream.cc +++ b/src/shrpx_spdy_upstream.cc @@ -807,7 +807,7 @@ int SpdyUpstream::on_downstream_header_complete(Downstream *downstream) } size_t nheader = downstream->get_response_headers().size(); // 6 means :status, :version and possible via header field. - const char **nv = new const char*[nheader * 2 + 6 + 1]; + auto nv = util::make_unique(nheader * 2 + 6 + 1); size_t hdidx = 0; std::string via_value; nv[hdidx++] = ":status"; @@ -854,9 +854,8 @@ int SpdyUpstream::on_downstream_header_complete(Downstream *downstream) data_prd.read_callback = spdy_data_read_callback; int rv; - rv = spdylay_submit_response(session_, downstream->get_stream_id(), nv, + rv = spdylay_submit_response(session_, downstream->get_stream_id(), nv.get(), &data_prd); - delete [] nv; if(rv != 0) { ULOG(FATAL, this) << "spdylay_submit_response() failed"; return -1;