diff options
| author | spl3g <spleefer6@yandex.ru> | 2025-03-19 18:09:27 +0300 |
|---|---|---|
| committer | spl3g <spleefer6@yandex.ru> | 2025-03-19 18:11:15 +0300 |
| commit | 7a9d112ffa5b954baa43f2eddaa50ec1bd88f96f (patch) | |
| tree | 29cef1d399035470b2b85d45a1c138d5f21cf862 /lib/http.c | |
| parent | 269014e7843fabf395fca10c3364e50825f0fe20 (diff) | |
make const string actually const
Diffstat (limited to 'lib/http.c')
| -rw-r--r-- | lib/http.c | 20 |
1 files changed, 13 insertions, 7 deletions
@@ -103,16 +103,22 @@ void resp_set_code(struct response* resp, response_code code) { } void resp_set_json(arena *arena, struct response* resp, const_string json) { - const_string len_str = arena_cs_init(arena, snprintf(NULL, 0, "%d", json.len+2)); - sprintf(len_str.data, "%d", json.len+2); - arena_da_append(arena, &resp->headers, ((KV){CS("Content-Length"), len_str})); + int num_str_len = snprintf(NULL, 0, "%d", json.len+2); + char* len_str = arena_alloc(arena, snprintf(NULL, 0, "%d", json.len+2)); + sprintf(len_str, "%d", json.len+2); + const_string len_cs = {len_str, num_str_len}; + + arena_da_append(arena, &resp->headers, ((KV){CS("Content-Length"), len_cs})); arena_da_append(arena, &resp->headers, ((KV){CS("Content-Type"), CS("application/json")})); resp->body = json; } void resp_set_body(arena *arena, struct response* resp, const_string body) { - const_string len_str = arena_cs_init(arena, snprintf(NULL, 0, "%d", body.len)); - sprintf(len_str.data, "%d", body.len); - arena_da_append(arena, &resp->headers, ((KV){CS("Content-Length"), len_str})); + int num_str_len = snprintf(NULL, 0, "%d", body.len+2); + char* len_str = arena_alloc(arena, snprintf(NULL, 0, "%d", body.len+2)); + sprintf(len_str, "%d", body.len+2); + const_string len_cs = {len_str, num_str_len}; + + arena_da_append(arena, &resp->headers, ((KV){CS("Content-Length"), len_cs})); arena_da_append(arena, &resp->headers, ((KV){CS("Content-Type"), CS("application/text")})); resp->body = body; } @@ -393,7 +399,7 @@ void process_request(struct server *serv, size_t inc_fd) { compose_response(&req_arena, &resp); } - char *resp_cstr = resp.string.data; + const char *resp_cstr = resp.string.data; int resp_len = resp.string.len; int sent = send(inc_fd, resp_cstr, resp_len, 0); |
