to_temp_c_string :: (s: string) -> *u8 { result : *u8 = alloc(s.count + 1,, allocator=temp); memcpy(result, s.data, s.count); result[s.count] = 0; return result; }