L.S.
Here's the patch for those interested:
--- sqlite-3.4.2-orig/src/printf.c 2007-06-28 14:46:19.000000000 +0200
+++ sqlite-3.4.2/src/printf.c 2007-10-08 11:56:49.000000000 +0200
@@ -158,7 +158,11 @@
static int et_getdigit(LONGDOUBLE_TYPE *val, int *cnt){
int digit;
LONGDOUBLE_TYPE d;
+#ifdef SQLITE_FPE_FASTFPE
+ if( (*cnt)++ >= 10 ) return '0';
+#else
if( (*cnt)++ >= 16 ) return '0';
+#endif /* SQLITE_FPE_FASTFPE */
digit = (int)*val;
d = digit;
digit += '0';
and
diff -u -r sqlite-3.4.2-orig/src/vdbemem.c sqlite-3.4.2/src/vdbemem.c
--- sqlite-3.4.2-orig/src/vdbemem.c 2007-06-28 14:46:19.000000000 +0200
+++ sqlite-3.4.2/src/vdbemem.c 2007-10-08 11:58:07.000000000 +0200
@@ -217,7 +217,11 @@
sqlite3_snprintf(NBFS, z, "%lld", pMem->u.i);
}else{
assert( fg & MEM_Real );
+#ifdef SQLITE_FPE_FASTFPE
+ sqlite3_snprintf(NBFS, z, "%!.9g", pMem->r);
+#else
sqlite3_snprintf(NBFS, z, "%!.15g", pMem->r);
+#endif /* SQLITE_FPE_FASTFPE */
}
pMem->n = strlen(z);
pMem->z = z;
FYI, the (latest?) 2.6 kernels seem to have ditched FASTFPE completely, so the
above is probably a 2.4 - issue only.
--
Best,
Frank.
-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------