Fossil SCM

Fix TH1 conversion of integer 0x80000000 into a string value.

drh 2025-04-10 16:49 trunk
Commit 7d2e4ed653a53696ac4be41ffd696bb329fda17b4585808f10c7435d3ac2a13b
1 file changed +3
+3
--- src/th.c
+++ src/th.c
@@ -2878,10 +2878,13 @@
28782878
unsigned int uVal = iVal;
28792879
char zBuf[32];
28802880
char *z = &zBuf[32];
28812881
28822882
if( iVal<0 ){
2883
+ if( iVal==(-2147483648) ){
2884
+ return Th_SetResult(interp, "-2147483648", -1);
2885
+ }
28832886
isNegative = 1;
28842887
uVal = iVal * -1;
28852888
}
28862889
*(--z) = '\0';
28872890
*(--z) = (char)(48+(uVal%10));
28882891
--- src/th.c
+++ src/th.c
@@ -2878,10 +2878,13 @@
2878 unsigned int uVal = iVal;
2879 char zBuf[32];
2880 char *z = &zBuf[32];
2881
2882 if( iVal<0 ){
 
 
 
2883 isNegative = 1;
2884 uVal = iVal * -1;
2885 }
2886 *(--z) = '\0';
2887 *(--z) = (char)(48+(uVal%10));
2888
--- src/th.c
+++ src/th.c
@@ -2878,10 +2878,13 @@
2878 unsigned int uVal = iVal;
2879 char zBuf[32];
2880 char *z = &zBuf[32];
2881
2882 if( iVal<0 ){
2883 if( iVal==(-2147483648) ){
2884 return Th_SetResult(interp, "-2147483648", -1);
2885 }
2886 isNegative = 1;
2887 uVal = iVal * -1;
2888 }
2889 *(--z) = '\0';
2890 *(--z) = (char)(48+(uVal%10));
2891

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button