From: Yehuda Sadeh Date: Fri, 1 Feb 2013 18:56:11 +0000 (-0800) Subject: rgw: fix setting of NULL to string X-Git-Tag: v0.57~47 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=9019fbbe8f84f530b6a8700dfe99dfeb03e0ed3d;p=ceph.git rgw: fix setting of NULL to string Fixes: #3777 s->env->get() returns char * and not string and can return NULL. Also, remove some old unused code. Signed-off-by: Yehuda Sadeh Reviewed-by: Greg Farnum --- diff --git a/src/rgw/rgw_rest.cc b/src/rgw/rgw_rest.cc index 3b553f3b0c9c..72aab14c522b 100644 --- a/src/rgw/rgw_rest.cc +++ b/src/rgw/rgw_rest.cc @@ -276,16 +276,15 @@ void dump_uri_from_state(struct req_state *s) if (strcmp(s->request_uri.c_str(), "/") == 0) { string location = "http://"; - location += s->env->get("SERVER_NAME"); - if (!location.empty()) { + string server = s->env->get("SERVER_NAME", ""); + location.append(server); + location += "/"; + if (!s->bucket_name_str.empty()) { + location += s->bucket_name_str; location += "/"; - if (!s->bucket_name_str.empty()) { - location += s->bucket_name_str; - location += "/"; - if (!s->object_str.empty()) { - location += s->object_str; - s->cio->print("Location: %s\n", location.c_str()); - } + if (!s->object_str.empty()) { + location += s->object_str; + s->cio->print("Location: %s\n", location.c_str()); } } } diff --git a/src/rgw/rgw_rest_s3.cc b/src/rgw/rgw_rest_s3.cc index dfa6827c7fff..bdba0e9c8f42 100644 --- a/src/rgw/rgw_rest_s3.cc +++ b/src/rgw/rgw_rest_s3.cc @@ -18,34 +18,6 @@ using namespace ceph::crypto; -void dump_common_s3_headers(struct req_state *s, const char *etag, - size_t content_len, const char *conn_status) -{ - // how many elements do we expect to include in the response - unsigned int expected_var_len = 4; - map head_var; - - utime_t date = ceph_clock_now(s->cct); - if (!date.is_zero()) { - char buf[TIME_BUF_SIZE]; - date.sprintf(buf, TIME_BUF_SIZE); - head_var["date"] = buf; - } - - head_var["etag"] = etag; - head_var["conn_stat"] = conn_status; - head_var["server"] = s->env->get("HTTP_HOST"); - - // if we have all the variables we want go ahead and dump - if (head_var.size() == expected_var_len) { - dump_pair(s, "Date", head_var["date"].c_str()); - dump_etag(s, head_var["etag"].c_str()); - dump_content_length(s, content_len); - dump_pair(s, "Connection", head_var["conn_stat"].c_str()); - dump_pair(s, "Server", head_var["server"].c_str()); - } -} - void list_all_buckets_start(struct req_state *s) { s->formatter->open_array_section_in_ns("ListAllMyBucketsResult",