From: Yehuda Sadeh Date: Fri, 18 Dec 2015 18:18:22 +0000 (-0800) Subject: rgw: dump_status() uses integer X-Git-Tag: v0.94.8~30^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=19dbc2598d15d0676017abe4fb75f7ddc3248119;p=ceph.git rgw: dump_status() uses integer so that we can avoid atoi() later Signed-off-by: Yehuda Sadeh (cherry picked from commit 744a29a34b72d2a709a58a5ea5fb6223a39c676a) Conflicts: src/rgw/rgw_rest.cc rename the input parameter from `err` to `http_ret` --- diff --git a/src/rgw/rgw_civetweb.cc b/src/rgw/rgw_civetweb.cc index 7516c764cab6..4919377e0854 100644 --- a/src/rgw/rgw_civetweb.cc +++ b/src/rgw/rgw_civetweb.cc @@ -145,21 +145,21 @@ void RGWMongoose::init_env(CephContext *cct) } } -int RGWMongoose::send_status(const char *status, const char *status_name) +int RGWMongoose::send_status(int status, const char *status_name) { char buf[128]; if (!status_name) status_name = ""; - snprintf(buf, sizeof(buf), "HTTP/1.1 %s %s\r\n", status, status_name); + snprintf(buf, sizeof(buf), "HTTP/1.1 %d %s\r\n", status, status_name); bufferlist bl; bl.append(buf); bl.append(header_data); header_data = bl; - status_num = atoi(status); + status_num = status; mg_set_http_status(conn, status_num); return 0; diff --git a/src/rgw/rgw_civetweb.h b/src/rgw/rgw_civetweb.h index 8a1b4af27d24..bf7d64ad6487 100644 --- a/src/rgw/rgw_civetweb.h +++ b/src/rgw/rgw_civetweb.h @@ -33,7 +33,7 @@ public: int write_data(const char *buf, int len); int read_data(char *buf, int len); - int send_status(const char *status, const char *status_name); + int send_status(int status, const char *status_name); int send_100_continue(); int complete_header(); int complete_request(); diff --git a/src/rgw/rgw_client_io.h b/src/rgw/rgw_client_io.h index dc90db3db616..8448390cfc24 100644 --- a/src/rgw/rgw_client_io.h +++ b/src/rgw/rgw_client_io.h @@ -34,7 +34,7 @@ public: virtual void flush() = 0; int read(char *buf, int max, int *actual); - virtual int send_status(const char *status, const char *status_name) = 0; + virtual int send_status(int status, const char *status_name) = 0; virtual int send_100_continue() = 0; virtual int complete_header() = 0; virtual int complete_request() = 0; diff --git a/src/rgw/rgw_fcgi.cc b/src/rgw/rgw_fcgi.cc index 1fa2c73bbf53..bbc19d81dda3 100644 --- a/src/rgw/rgw_fcgi.cc +++ b/src/rgw/rgw_fcgi.cc @@ -31,15 +31,15 @@ void RGWFCGX::init_env(CephContext *cct) env.init(cct, (char **)fcgx->envp); } -int RGWFCGX::send_status(const char *status, const char *status_name) +int RGWFCGX::send_status(int status, const char *status_name) { - status_num = atoi(status); - return print("Status: %s %s\r\n", status, status_name); + status_num = status; + return print("Status: %d %s\r\n", status, status_name); } int RGWFCGX::send_100_continue() { - int r = send_status("100", "Continue"); + int r = send_status(100, "Continue"); if (r >= 0) { flush(); } diff --git a/src/rgw/rgw_fcgi.h b/src/rgw/rgw_fcgi.h index 4f8f8ee95410..88889b5085a0 100644 --- a/src/rgw/rgw_fcgi.h +++ b/src/rgw/rgw_fcgi.h @@ -21,7 +21,7 @@ protected: int write_data(const char *buf, int len); int read_data(char *buf, int len); - int send_status(const char *status, const char *status_name); + int send_status(int status, const char *status_name); int send_100_continue(); int complete_header(); int complete_request() { return 0; } diff --git a/src/rgw/rgw_loadgen.cc b/src/rgw/rgw_loadgen.cc index 59b94625b0ce..14f63a195832 100644 --- a/src/rgw/rgw_loadgen.cc +++ b/src/rgw/rgw_loadgen.cc @@ -92,7 +92,7 @@ void RGWLoadGenIO::init_env(CephContext *cct) env.set("SERVER_PORT", port_buf); } -int RGWLoadGenIO::send_status(const char *status, const char *status_name) +int RGWLoadGenIO::send_status(int status, const char *status_name) { return 0; } diff --git a/src/rgw/rgw_loadgen.h b/src/rgw/rgw_loadgen.h index 5a65ff430c04..e5636ed380cd 100644 --- a/src/rgw/rgw_loadgen.h +++ b/src/rgw/rgw_loadgen.h @@ -34,7 +34,7 @@ public: int write_data(const char *buf, int len); int read_data(char *buf, int len); - int send_status(const char *status, const char *status_name); + int send_status(int status, const char *status_name); int send_100_continue(); int complete_header(); int complete_request(); diff --git a/src/rgw/rgw_rest.cc b/src/rgw/rgw_rest.cc index 859e34a770b6..fb2cd5c642ab 100644 --- a/src/rgw/rgw_rest.cc +++ b/src/rgw/rgw_rest.cc @@ -246,7 +246,7 @@ static bool rgw_find_host_in_domains(const string& host, string *domain, string return false; } -static void dump_status(struct req_state *s, const char *status, const char *status_name) +static void dump_status(struct req_state *s, int status, const char *status_name) { int r = s->cio->send_status(status, status_name); if (r < 0) { @@ -305,16 +305,12 @@ void set_req_state_err(struct req_state *s, int err_no) void dump_errno(struct req_state *s) { - char buf[32]; - snprintf(buf, sizeof(buf), "%d", s->err.http_ret); - dump_status(s, buf, http_status_names[s->err.http_ret]); + dump_status(s, s->err.http_ret, http_status_names[s->err.http_ret]); } -void dump_errno(struct req_state *s, int err) +void dump_errno(struct req_state *s, int http_ret) { - char buf[32]; - snprintf(buf, sizeof(buf), "%d", err); - dump_status(s, buf, http_status_names[s->err.http_ret]); + dump_status(s, http_ret, http_status_names[http_ret]); } void dump_string_header(struct req_state *s, const char *name, const char *val)