difftastic/vendor/tree-sitter-hare/example/cstring.ha

17 lines
340 B
Plaintext

fn c_strlen(cstr: *const char) size = {
const ptr = cstr: *[*]u8;
let ln = 0z;
for (ptr[ln] != 0; ln += 1) void;
return ln;
};
fn from_c_unsafe(cstr: *const char) const str = {
const l = c_strlen(cstr);
const s = struct {
data: *[*]u8 = cstr: *[*]u8,
length: size = l,
capacity: size = l,
};
return *(&s: *const str);
};