-C Handle\sexpressions\slike\s"expr\sIS\sTRUE\sCOLLATE\sxyz"\sin\sthe\ssame\sway\sas\s"expr\sIS\sTRUE".\sFix\sfor\s[4d01eda8115b10d1].
-D 2019-06-12T13:49:32.380
+C Enhancements\sto\sthe\sprintf()\slogic\sin\sorder\sto\srender\sa\snegative\szero\swith\na\sminus\ssign.
+D 2019-06-12T20:11:34.026
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
F src/pragma.c 925bcac0afd98a0d4255c7524b93239ab4d83893d96f7f8fdccd78d4929a39bb
F src/pragma.h 4a9fabff14db4487a734dfeeb4be984ce662bfdccfae16145b9c732327735e13
F src/prepare.c 78027c6231fbb19ca186a5f5f0c0a1375d9c2cec0655273f9bd90d9ff74a34b3
-F src/printf.c 9be6945837c839ba57837b4bc3af349eba630920fa5532aa518816defe42a7d4
+F src/printf.c 05d4d769e0dba0bdb4f52255ab3c7ca0b500c5f08d28caced0cce0642ba60e87
F src/random.c 80f5d666f23feb3e6665a6ce04c7197212a88384
F src/resolve.c f71303e7202743e261b2fb885591b29d4bd826a7dc915745fa376fd1a3943f1a
F src/rowset.c d977b011993aaea002cab3e0bb2ce50cf346000dff94e944d547b989f4b1fe93
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 614ecb0af47038848e8ba2aed6b92db6f33ddc4aea6361795dbde440380f5a35
-R ff535e67a0f998f18172bd430f50d3e5
-U dan
-Z 1b38c763ebe911ce5080403db6734d6a
+P 5c6146b56a75a94f4baa10e95407c54dd0b9314a57a8702a4b96b15c4d7ac48c
+R 32970911aa181195f7f2f26ab5229a78
+T *branch * negative-zero
+T *sym-negative-zero *
+T -sym-trunk *
+U drh
+Z c775e1b0e8bc7632b27bc5f73f887bcc
5.0e-06, 5.0e-07, 5.0e-08, 5.0e-09, 5.0e-10,
};
+/* Return TRUE if a floating point number is negative, even a negative 0 */
+static int realIsNeg(double r){
+ i64 x;
+ memcpy(&x,&r,sizeof(x));
+ return x<0;
+}
+
/*
** If SQLITE_OMIT_FLOATING_POINT is defined, then none of the floating point
** conversions will work.
length = 0;
#else
if( precision<0 ) precision = 6; /* Set default precision */
- if( realvalue<0.0 ){
+ if( realIsNeg(realvalue) ){
realvalue = -realvalue;
prefix = '-';
}else{