-C On\sx64\shardware,\sround-trip\suint64_t→double→uint64_t\sconversions\nfail\sfor\svalues\sgreater\sthan\sUINT64_MAX-2047.\s\sThis\scaused\sthe\sSQLite\ntext-to-float\sconverter\sroutine\sto\sgive\sincorrect\sresults\sfor\svalues\nbetween\s'1.8446744073709550592eNNN'\sand\s'1.8446744073709551609eNNN'\sfor\sany\nexponent\sNNN.\s\sThis\sproblem\swas\sintroduced\sby\scheck-in\s[761d8fd18b0ee868]\nand\sfirst\sappeared\sin\sversion\s3.47.0\sand\swas\sreported\sby\n[forum:/forumpost/569a7209179a7f5e|forum\spost\s569a7209179a7f5e].\s\sFixed\nby\sthis\scheck-in.
-D 2024-12-07T14:48:55.778
+C Fix\sharmless\scompiler\swarning\scaused\sby\sthe\sprevious\scheck-in.
+D 2024-12-07T16:53:42.327
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md e108e1e69ae8e8a59e93c455654b8ac9356a11720d3345df2a4743e9590fb20d
F src/update.c 0e01aa6a3edf9ec112b33eb714b9016a81241497b1fb7c3e74332f4f71756508
F src/upsert.c 215328c3f91623c520ec8672c44323553f12caeb4f01b1090ebdca99fdf7b4f1
F src/utf.c 8b29d9a5956569ea2700f869669b8ef67a9662ee5e724ff77ab3c387e27094ba
-F src/util.c fde9ad9ce18841a844ce277b4eb4ace4ada7ca4110f9bed5d1d5ce89dabaf957
+F src/util.c 196a1498ed9ab5d3cca55db73ba10348c058c840b0a534e9d5d90db1862a50a1
F src/vacuum.c b763b6457bd058d2072ef9364832351fd8d11e8abf70cbb349657360f7d55c40
F src/vdbe.c 8a6eb02823b424b273614bae41579392a5c495424592b60423dd2c443a583df0
F src/vdbe.h 9676348d342bd04e21e384c63b57224171ce84fac77853357334ef94c4d33cf4
F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
F tool/warnings.sh 49a486c5069de041aedcbde4de178293e0463ae9918ecad7539eedf0ec77a139
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P 870403425493866232cf9e8fa62288861b7d0a4091b15d75727f8bb31da46f94
-R 2d1ae3d1053fb61b1868786464dea794
+P 81342fa6dd03fffbe7d4d699ff049dcef4d30344578bb6f91cb58a4e5a4f6036
+R e75637f5d04864b72a3d36ee13db9474
U drh
-Z 8f0bbc8ae68469d8947e1d3fa193444c
+Z f6c4d3a013c59065246d07d8eff3b3d4
# Remove this line to create a well-formed Fossil manifest.
int nDigit = 0; /* Number of digits processed */
int eType = 1; /* 1: pure integer, 2+: fractional -1 or less: bad UTF16 */
double rr[2];
- u64 s2;
assert( enc==SQLITE_UTF8 || enc==SQLITE_UTF16LE || enc==SQLITE_UTF16BE );
*pResult = 0.0; /* Default return value, in case of an error */
rr[0] = (double)s;
if( s<(LARGEST_UINT64-0x7ff) ){
- s2 = (u64)rr[0];
+ u64 s2 = (u64)rr[0];
#if defined(_MSC_VER) && _MSC_VER<1700
if( s2==0x8000000000000000LL ){ s2 = 2*(u64)(0.5*rr[0]); }
#endif
rr[1] = s>=s2 ? (double)(s - s2) : -(double)(s2 - s);
}else{
- s2 = s;
rr[1] = 0.0;
}