Files
Odin/core/strings.odin
Ginger Bill 4db462a703 Fix copy
2017-07-18 20:39:53 +01:00

23 lines
439 B
Odin

import "mem.odin";
new_string :: proc(s: string) -> string {
c := make([]u8, len(s)+1);
copy(c, cast([]u8)s);
c[len(s)] = 0;
return string(c[..len(s)]);
}
new_c_string :: proc(s: string) -> ^u8 {
c := make([]u8, len(s)+1);
copy(c, cast([]u8)s);
c[len(s)] = 0;
return &c[0];
}
to_odin_string :: proc(c: ^u8) -> string {
if c == nil do return "";
len := 0;
for (c+len)^ != 0 do len+=1;
return string(mem.slice_ptr(c, len));
}