summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/src/expand.c2
-rw-r--r--test/scripts/0000-Basic/000210
-rw-r--r--test/stdout/00028
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