diff options
author | Jeremy Harris <jgh146exb@wizmail.org> | 2013-09-15 16:41:40 +0100 |
---|---|---|
committer | Jeremy Harris <jgh146exb@wizmail.org> | 2013-09-15 16:41:40 +0100 |
commit | 725735cdc6e1fb7a32b23364d75e14557af6de08 (patch) | |
tree | cf4588264853abd6236d444c936764ab2b1ed246 | |
parent | c5c2182fe8a0ca17941b129ac430ac6d24482d82 (diff) |
Fix numeric comparisons for 64b. Bug 1385
-rw-r--r-- | src/src/expand.c | 2 | ||||
-rw-r--r-- | test/scripts/0000-Basic/0002 | 10 | ||||
-rw-r--r-- | test/stdout/0002 | 8 |
3 files changed, 12 insertions, 8 deletions
diff --git a/src/src/expand.c b/src/src/expand.c index dba047b28..0d8e70295 100644 --- a/src/src/expand.c +++ b/src/src/expand.c @@ -6560,7 +6560,7 @@ else else { while (isspace(*endptr)) endptr++; - if (*endptr == 0) return (int)value; + if (*endptr == 0) return value; } } diff --git a/test/scripts/0000-Basic/0002 b/test/scripts/0000-Basic/0002 index 1ea5c4a48..b924a0934 100644 --- a/test/scripts/0000-Basic/0002 +++ b/test/scripts/0000-Basic/0002 @@ -287,10 +287,12 @@ mask: ${if eq {1}{2}{${mask:invalid}}{NO}} # Numeric overflow # >32b should work, >64b not -4096M ${if >{1}{4096M}{y}{n}} -4096000000 ${if >{1}{4096000000}{y}{n}} -4611686018427387904 ${if >{1}{4611686018427387904} {y}{n}} -46116860184273879040 ${if >{1}{46116860184273879040}{y}{n}} +1 > 2047M ${if >{1}{2047M}{y}{n}} +1 > 2048M ${if >{1}{2048M}{y}{n}} +1 > 4096000000 ${if >{1}{4096000000}{y}{n}} +1 > 4096M ${if >{1}{4096M}{y}{n}} +1 > 4611686018427387904 ${if >{1}{4611686018427387904} {y}{n}} +1 > 46116860184273879040 ${if >{1}{46116860184273879040}{y}{n}} # Conditions diff --git a/test/stdout/0002 b/test/stdout/0002 index 35f1bb99b..1cf6a5b84 100644 --- a/test/stdout/0002 +++ b/test/stdout/0002 @@ -260,9 +260,11 @@ > # Numeric overflow > # >32b should work, >64b not > -> 4096M y -> 4096000000 y -> 4611686018427387904 y +> 1 > 2047M n +> 1 > 2048M n +> 1 > 4096000000 n +> 1 > 4096M n +> 1 > 4611686018427387904 n > Failed: absolute value of integer "46116860184273879040" is too large (overflow) > > # Conditions |