mirror of
https://github.com/KarolS/millfork.git
synced 2026-04-19 10:42:10 +00:00
Standard library improvements
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
#pragma zilog_syntax
|
||||
|
||||
byte strzlen(pointer str) {
|
||||
pointer end
|
||||
end = str
|
||||
while end[0] != 0 {
|
||||
end += 1
|
||||
}
|
||||
return lo(end - str)
|
||||
}
|
||||
|
||||
sbyte strzcmp(pointer str1, pointer str2) {
|
||||
while true {
|
||||
if str1[0] == 0 {
|
||||
if str2[0] == 0 {
|
||||
return 0
|
||||
} else {
|
||||
return -1
|
||||
}
|
||||
} else if str1[0] != str2[0] {
|
||||
if str1[0] < str2[0] { return -1 }
|
||||
return 1
|
||||
}
|
||||
str1 += 1
|
||||
str2 += 1
|
||||
}
|
||||
}
|
||||
|
||||
void strzcopy(pointer dest, pointer src) {
|
||||
byte c
|
||||
do {
|
||||
c = src[0]
|
||||
dest[0] = c
|
||||
src += 1
|
||||
dest += 1
|
||||
} while c != 0
|
||||
}
|
||||
Reference in New Issue
Block a user