1
0
mirror of https://github.com/KarolS/millfork.git synced 2024-06-02 00:41:40 +00:00
millfork/include/string.mfk

48 lines
957 B
Plaintext
Raw Permalink Normal View History

2018-12-19 18:01:53 +00:00
import err
#if ARCH_I80
import internal/string_fastpointers
#else
import internal/string_fastindices
2018-12-19 18:01:53 +00:00
#endif
2019-01-05 00:19:14 +00:00
void strzappend(pointer buffer, pointer str) {
strzcopy(buffer + strzlen(buffer), str)
}
void strzappendchar(pointer buffer, byte char) {
buffer += strzlen(buffer)
buffer[0] = char
buffer[1] = nullchar
2019-01-05 00:19:14 +00:00
}
2018-12-19 18:01:53 +00:00
word strz2word(pointer str) {
byte i
byte char
word next
word result
result = 0
i = 0
errno = err_ok
while true {
char = str[i]
if char == nullchar {
2018-12-19 18:01:53 +00:00
if i == 0 {
errno = err_numberformat
}
return result
}
if '0' <= char <= '0' + 9 {
next = result * 10
next += char - '0'
if next < result {
errno = err_range
}
result = next
} else {
errno = err_numberformat
return result
}
i += 1
}
}