Add Utils to curl struct

This commit is contained in:
Kenneth Bruen 2024-02-17 03:32:45 +01:00
parent 226121ac16
commit 5d74b3a896
Signed by: kbruen
GPG key ID: C1980A470C3EE5B1
2 changed files with 11 additions and 7 deletions

View file

@ -71,3 +71,13 @@ pub fn setopt(
) c_api.CURLcode {
return self.setopt_raw(@intFromEnum(option), args);
}
pub const Utils = struct {
const std = @import("std");
pub fn array_list_append(ptr: [*]u8, size: usize, nmemb: usize, userdata: *std.ArrayList(u8)) callconv(.C) usize {
_ = size;
userdata.appendSlice(ptr[0..nmemb]) catch return 0;
return nmemb;
}
};

View file

@ -4,12 +4,6 @@ const rl = raylib.rl;
const AppState = @import("state.zig");
const Curl = @import("curl.zig");
fn curlWriteHandler(ptr: [*]u8, size: usize, nmemb: usize, userdata: *std.ArrayList(u8)) callconv(.C) usize {
_ = size;
userdata.appendSlice(ptr[0..nmemb]) catch return 0;
return nmemb;
}
fn fetchThread(state: *AppState) !void {
std.debug.print("[home/fetchThread] Started\n", .{});
defer std.debug.print("[home/fetchThread] Ended\n", .{});
@ -46,7 +40,7 @@ fn fetchThread(state: *AppState) !void {
var result = std.ArrayList(u8).init(allocator);
defer result.deinit();
_ = curl.setopt(.write_function, .{curlWriteHandler});
_ = curl.setopt(.write_function, .{Curl.Utils.array_list_append});
_ = curl.setopt(.write_data, .{&result});
const code = curl.perform();