处理goto导致的编译不通过。
This commit is contained in:
@@ -159,7 +159,7 @@ void connection_close_cb(struct evhttp_connection* connection, void* arg)
|
||||
//printf("call connection_close_cb\n");
|
||||
}
|
||||
|
||||
char* get_request_url(struct evhttp_uri* uri, int url_len)
|
||||
char* get_request_url(struct evhttp_uri* uri, size_t url_len)
|
||||
{
|
||||
const char* path = evhttp_uri_get_path(uri);
|
||||
const char* query = evhttp_uri_get_query(uri);
|
||||
@@ -184,6 +184,11 @@ char* get_request_url(struct evhttp_uri* uri, int url_len)
|
||||
//data is for POST. if method is GET, data should be NULL
|
||||
void tfe_rpc_async_ask(struct future* f, const char* url, enum TFE_RPC_METHOD method, enum TFE_RPC_FLAG flag, const char* data, int data_len, struct event_base * evbase, struct evdns_base* dnsbase)
|
||||
{
|
||||
const char* host=NULL;
|
||||
int port=0;
|
||||
size_t url_len=0;
|
||||
char* request_url=NULL;
|
||||
struct evhttp_request* request=NULL;
|
||||
struct promise* p = future_to_promise(f);
|
||||
struct tfe_rpc_ctx* ctx = ALLOC(struct tfe_rpc_ctx, 1);
|
||||
ctx->evbase = evbase;
|
||||
@@ -196,13 +201,13 @@ void tfe_rpc_async_ask(struct future* f, const char* url, enum TFE_RPC_METHOD me
|
||||
_wrapped_promise_failed(p, FUTURE_ERROR_EXCEPTION, "parse url failed!");
|
||||
goto error_out;
|
||||
}
|
||||
const char* host = evhttp_uri_get_host(uri);
|
||||
host = evhttp_uri_get_host(uri);
|
||||
if(!host)
|
||||
{
|
||||
_wrapped_promise_failed(p, FUTURE_ERROR_EXCEPTION, "parse host failed!");
|
||||
goto error_out;
|
||||
}
|
||||
int port = evhttp_uri_get_port(uri);
|
||||
port = evhttp_uri_get_port(uri);
|
||||
if(port < 0)
|
||||
{
|
||||
port = 80;
|
||||
@@ -215,7 +220,7 @@ void tfe_rpc_async_ask(struct future* f, const char* url, enum TFE_RPC_METHOD me
|
||||
goto error_out;
|
||||
}
|
||||
evhttp_connection_set_closecb(ctx->connection, connection_close_cb, evbase);
|
||||
struct evhttp_request* request = evhttp_request_new(get_response_cb, (void*)p);
|
||||
request = evhttp_request_new(get_response_cb, (void*)p);
|
||||
//evhttp_request_set_header_cb(request, read_header_done_cb);
|
||||
if(flag == CHUNK_CB)
|
||||
{
|
||||
@@ -223,8 +228,8 @@ void tfe_rpc_async_ask(struct future* f, const char* url, enum TFE_RPC_METHOD me
|
||||
}
|
||||
evhttp_request_set_error_cb(request, request_error_cb);
|
||||
evhttp_add_header(evhttp_request_get_output_headers(request), "Host", host);
|
||||
int url_len = strlen(url);
|
||||
char* request_url = get_request_url(uri, url_len);
|
||||
url_len = strlen(url);
|
||||
request_url = get_request_url(uri, url_len);
|
||||
//printf("request url is %s\n", request_url);
|
||||
if(request_url == NULL)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user