1
0
mirror of https://github.com/KarolS/millfork.git synced 2024-12-28 11:31:58 +00:00
millfork/include/internal/scrstring_fastindices.mfk

54 lines
948 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 scrstrzpaste(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
}
}