Skip to content

Commit

Permalink
king: king_curl_alloc to header
Browse files Browse the repository at this point in the history
  • Loading branch information
ripperi committed Jun 13, 2024
1 parent aab20b2 commit e19c42e
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 40 deletions.
22 changes: 2 additions & 20 deletions pkg/vere/dawn.c
Original file line number Diff line number Diff line change
Expand Up @@ -41,24 +41,6 @@ _dawn_buf_to_oct(uv_buf_t buf_u)
return u3nc(len, u3i_bytes(buf_u.len, (const c3_y*)buf_u.base));
}


/* _dawn_curl_alloc(): allocate a response buffer for curl
*/
static size_t
_dawn_curl_alloc(void* dat_v, size_t uni_t, size_t mem_t, void* buf_v)
{
uv_buf_t* buf_u = buf_v;

size_t siz_t = uni_t * mem_t;
buf_u->base = c3_realloc(buf_u->base, 1 + siz_t + buf_u->len);

memcpy(buf_u->base + buf_u->len, dat_v, siz_t);
buf_u->len += siz_t;
buf_u->base[buf_u->len] = 0;

return siz_t;
}

/* _dawn_post_json(): POST JSON to url_c
*/
static uv_buf_t
Expand All @@ -84,7 +66,7 @@ _dawn_post_json(c3_c* url_c, uv_buf_t lod_u)
//
u3K.ssl_curl_f(curl);
curl_easy_setopt(curl, CURLOPT_URL, url_c);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, _dawn_curl_alloc);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, king_curl_alloc);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void*)&buf_u);
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, hed_u);

Expand Down Expand Up @@ -131,7 +113,7 @@ _dawn_get_jam(c3_c* url_c)
//
u3K.ssl_curl_f(curl);
curl_easy_setopt(curl, CURLOPT_URL, url_c);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, _dawn_curl_alloc);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, king_curl_alloc);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void*)&buf_u);

result = curl_easy_perform(curl);
Expand Down
8 changes: 4 additions & 4 deletions pkg/vere/king.c
Original file line number Diff line number Diff line change
Expand Up @@ -270,11 +270,11 @@ _king_pier(u3_noun pier)
u3z(pier);
}

/* _king_curl_alloc(): allocate a response buffer for curl
/* king_curl_alloc(): allocate a response buffer for curl
** XX deduplicate with dawn.c
*/
static size_t
_king_curl_alloc(void* dat_v, size_t uni_t, size_t mem_t, void* buf_v)
size_t
king_curl_alloc(void* dat_v, size_t uni_t, size_t mem_t, void* buf_v)
{
uv_buf_t* buf_u = buf_v;

Expand Down Expand Up @@ -308,7 +308,7 @@ _king_curl_bytes(c3_c* url_c, c3_w* len_w, c3_y** hun_y, c3_t veb_t)

u3K.ssl_curl_f(cul_u);
curl_easy_setopt(cul_u, CURLOPT_URL, url_c);
curl_easy_setopt(cul_u, CURLOPT_WRITEFUNCTION, _king_curl_alloc);
curl_easy_setopt(cul_u, CURLOPT_WRITEFUNCTION, king_curl_alloc);
curl_easy_setopt(cul_u, CURLOPT_WRITEDATA, (void*)&buf_u);

while ( 5 > try_y ) {
Expand Down
17 changes: 1 addition & 16 deletions pkg/vere/pier.c
Original file line number Diff line number Diff line change
Expand Up @@ -530,21 +530,6 @@ _pier_on_scry_done(void* ptr_v, u3_noun nun)
u3z(nun);
}

static size_t
_dawn_curl_alloc(void* dat_v, size_t uni_t, size_t mem_t, void* buf_v)
{
uv_buf_t* buf_u = buf_v;

size_t siz_t = uni_t * mem_t;
buf_u->base = c3_realloc(buf_u->base, 1 + siz_t + buf_u->len);

memcpy(buf_u->base + buf_u->len, dat_v, siz_t);
buf_u->len += siz_t;
buf_u->base[buf_u->len] = 0;

return siz_t;
}

struct HttpRes {
c3_i cod_i;
c3_c* res_c;
Expand All @@ -564,7 +549,7 @@ static struct HttpRes http_get(c3_c* url_c) {

u3K.ssl_curl_f(curl);
curl_easy_setopt(curl, CURLOPT_URL, url_c);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, _dawn_curl_alloc);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, king_curl_alloc);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void*)&buf_u);
curl_easy_setopt(curl, CURLOPT_SERVER_RESPONSE_TIMEOUT, 30);

Expand Down
5 changes: 5 additions & 0 deletions pkg/vere/vere.h
Original file line number Diff line number Diff line change
Expand Up @@ -1565,6 +1565,11 @@
darwin_register_mach_exception_handler();
#endif

/* king_curl_alloc(): allocate a response buffer for curl
*/
size_t
king_curl_alloc(void* dat_v, size_t uni_t, size_t mem_t, void* buf_v);

/* u3_write_fd(): retry interrupts, continue partial writes, assert errors.
*/
void
Expand Down

0 comments on commit e19c42e

Please sign in to comment.