blob: fa9e0bf7eec7dea151233d8499066e0b1f91bda5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
use "types.use"
pkg std =
const cstrlen : (buf : byte[:] -> size)
const cstrconv : (buf : byte[:] -> byte[:])
const cstrconvp : (p : byte# -> byte[:])
;;
const cstrconv = {buf
var i
for i = 0; i < buf.len; i++
if buf[i] == 0
-> buf[:i]
;;
;;
-> buf
}
const cstrconvp = {p
var i, base
i = 0
base = p castto(intptr)
while ((base + i) castto(byte#))# != 0
i++
;;
-> p[:i]
}
const cstrlen = {buf
var i
for i = 0; i < buf.len; i++
if buf[i] == 0
break
;;
;;
-> i
}
|