Add back url_buffer as HTTP_String
Making the URL buffer allocation more explicit by storing it as an HTTP_String. This provides both the pointer and length, making the code clearer and more self-documenting.
This commit is contained in:
@@ -3885,9 +3885,12 @@ void http_request_builder_url(HTTP_RequestBuilder builder,
|
||||
return; // TODO: set error
|
||||
memcpy(url_copy, url.ptr, url.len);
|
||||
|
||||
// Parse the copied URL (url.scheme.ptr will point to url_copy)
|
||||
if (http_parse_url(url_copy, url.len, &conn->url) != 1) {
|
||||
free(url_copy);
|
||||
conn->url_buffer.ptr = url_copy;
|
||||
conn->url_buffer.len = url.len;
|
||||
|
||||
// Parse the copied URL (all url.* pointers will reference url_buffer)
|
||||
if (http_parse_url(conn->url_buffer.ptr, conn->url_buffer.len, &conn->url) != 1) {
|
||||
free(conn->url_buffer.ptr);
|
||||
return; // TODO: set error
|
||||
}
|
||||
|
||||
@@ -4054,7 +4057,7 @@ int http_request_builder_send(HTTP_RequestBuilder builder)
|
||||
|
||||
error:
|
||||
conn->state = HTTP_CLIENT_CONN_FREE;
|
||||
free((void*)conn->url.scheme.ptr);
|
||||
free(conn->url_buffer.ptr);
|
||||
byte_queue_free(&conn->input);
|
||||
byte_queue_free(&conn->output);
|
||||
client->num_conns--;
|
||||
@@ -4302,7 +4305,7 @@ void http_free_response(HTTP_Response *response)
|
||||
return;
|
||||
|
||||
conn->state = HTTP_CLIENT_CONN_FREE;
|
||||
free((void*)conn->url.scheme.ptr);
|
||||
free(conn->url_buffer.ptr);
|
||||
byte_queue_free(&conn->input);
|
||||
byte_queue_free(&conn->output);
|
||||
client->num_conns--;
|
||||
|
||||
Reference in New Issue
Block a user