Author: rhuijben Date: Mon Nov 30 10:00:45 2015 New Revision: 1717222 URL: http://svn.apache.org/viewvc?rev=1717222&view=rev Log: Following up on r1717218 and r1717219 use sprintf() instead of itoa, like we do in the request bucket.
* buckets/response_buckets.c (serialize_outgoing_response): Use sprintf to format a few ints in one step. Modified: serf/trunk/buckets/response_buckets.c Modified: serf/trunk/buckets/response_buckets.c URL: http://svn.apache.org/viewvc/serf/trunk/buckets/response_buckets.c?rev=1717222&r1=1717221&r2=1717222&view=diff ============================================================================== --- serf/trunk/buckets/response_buckets.c (original) +++ serf/trunk/buckets/response_buckets.c Mon Nov 30 10:00:45 2015 @@ -881,32 +881,20 @@ static void serialize_outgoing_response( serf_bucket_set_config(bucket, ctx->config); { - struct iovec status_vecs[9]; - char http_high[10]; - char http_low[10]; - char status[10]; - itoa(SERF_HTTP_VERSION_MAJOR(ctx->http_version), http_high, 10); - itoa(SERF_HTTP_VERSION_MINOR(ctx->http_version), http_low, 10); - itoa(ctx->status, status, 10); + char start[32]; + struct iovec status_vecs[3]; - status_vecs[0].iov_base = "HTTP/"; - status_vecs[0].iov_len = 5; - status_vecs[1].iov_base = http_high; - status_vecs[1].iov_len = strlen(http_high); - status_vecs[2].iov_base = "."; - status_vecs[2].iov_len = 1; - status_vecs[3].iov_base = http_low; - status_vecs[3].iov_len = strlen(http_low); - status_vecs[4].iov_base = " "; - status_vecs[4].iov_len = 1; - status_vecs[5].iov_base = status; - status_vecs[5].iov_len = strlen(status); - status_vecs[6].iov_base = " "; - status_vecs[6].iov_len = 1; - status_vecs[7].iov_base = ctx->reason; - status_vecs[7].iov_len = strlen(ctx->reason); - status_vecs[8].iov_base = "\r\n"; - status_vecs[8].iov_len = 2; + sprintf(start, "HTTP/%d.%d %03d ", + SERF_HTTP_VERSION_MAJOR(ctx->http_version), + SERF_HTTP_VERSION_MINOR(ctx->http_version), + ctx->status); + + status_vecs[0].iov_base = start; + status_vecs[0].iov_len = strlen(start); + status_vecs[1].iov_base = ctx->reason; + status_vecs[1].iov_len = strlen(ctx->reason); + status_vecs[2].iov_base = "\r\n"; + status_vecs[2].iov_len = 2; status_line = serf_bstrcatv(bucket->allocator, status_vecs, COUNT_OF(status_vecs),