Skip to content

Commit 1093ae1

Browse files
committed
FIX: tinny code optimization
related to: Oldes/Rebol-issues#2504
1 parent e3a200a commit 1093ae1

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

src/core/l-types.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -365,11 +365,11 @@ bad_hex: Trap0(RE_INVALID_CHARS);
365365
}
366366
*bp = 0;
367367

368-
// Too many digits?
368+
// Count number of digits
369369
len = (REBCNT)(bp - &buf[0]);
370370
if (neg) len--;
371-
if (len > 19) return 0;
372371
if (len > 0) {
372+
if (len > 19) return 0; // Too many digits
373373
// Convert, check, and return:
374374
errno = 0;
375375
n = CHR_TO_INT(buf);

src/tests/units/make-test.r3

+7
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,13 @@ Rebol [
103103
--assert 0 = to integer! "0"
104104
--assert 0 = to integer! "00"
105105
--assert 0 = to integer! "00000000000"
106+
--assert 0 = to integer! "-0"
107+
--assert 0 = to integer! "-00"
108+
--assert 0 = to integer! "-00000000000"
109+
--assert 0 = to integer! "+0"
110+
--assert 0 = to integer! "+00"
111+
--assert 0 = to integer! "+00000000000"
112+
--assert 0 = to integer! "000'000'000"
106113

107114
===end-group===
108115

0 commit comments

Comments
 (0)