aboutsummaryrefslogtreecommitdiff
path: root/core/strings.odin
blob: 0397e76a15f3d799c85cb2c8d85f6e8888947bc0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
proc new_string(s: string) -> string {
	var c = make([]u8, len(s)+1);
	copy(c, []u8(s));
	c[len(s)] = 0;
	return string(c[0..<len(s)]);
}

proc new_c_string(s: string) -> ^u8 {
	var c = make([]u8, len(s)+1);
	copy(c, []u8(s));
	c[len(s)] = 0;
	return &c[0];
}

proc to_odin_string(c: ^u8) -> string {
	var len = 0;
	for (c+len)^ != 0 {
		len++;
	}
	return string(slice_ptr(c, len));
}