1
0
mirror of https://github.com/KarolS/millfork.git synced 2024-07-04 16:29:52 +00:00
millfork/include/string.mfk

40 lines
715 B
Plaintext
Raw Normal View History

2018-12-19 18:01:53 +00:00
import err
#if ARCH_I80
2018-12-19 18:01:53 +00:00
import string_fastpointers
#else
2018-12-19 18:01:53 +00:00
import string_fastindices
#endif
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 == 0 {
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
}
}