1
0
mirror of https://github.com/KarolS/millfork.git synced 2024-12-29 17:31:18 +00:00
millfork/include/scrstring_fastindices.mfk
2019-11-04 02:29:16 +01:00

54 lines
945 B
Plaintext

#if NULLCHAR_SAME
#error The module scrstring_fastindices should not be included directly
#endif
byte scrstrzlen(pointer str) {
byte index
index = 0
while str[index] != nullchar_scr {
index += 1
}
return index
}
sbyte scrstrzcmp(pointer str1, pointer str2) {
byte i1
byte i2
i1 = 0
i2 = 0
while true {
if str1[i1] != str2[i2] {
if str1[i1] < str2[i2] { return -1 }
return 1
}
if str1[i1] == nullchar_scr {
return 0
}
i1 += 1
i2 += 1
}
}
void scrstrzcopy(pointer dest, pointer src) {
byte i
byte c
i = 0
do {
c = src[i]
dest[i] = c
i += 1
} while c != nullchar_scr
}
void strzpaste(pointer dest, pointer src) {
byte i
byte c
i = 0
while true {
c = src[i]
if c == nullchar_scr { return }
dest[i] = c
i += 1
}
}