12345678910111213141516171819202122 |
- 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));
- }
|