mirror of
https://github.com/KarolS/millfork.git
synced 2024-07-04 16:29:52 +00:00
42 lines
749 B
Plaintext
42 lines
749 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
|
||
|
}
|