Module Name: src
Committed By: martin
Date: Thu Feb 14 17:12:24 UTC 2013
Modified Files:
src/external/public-domain/sqlite/bin: Makefile
src/external/public-domain/sqlite/dist: sqlite3.c
Log Message:
When converting long double values to decimal, convert to int via a call
to floor(), so the conversion does not depend on current rounding mode.
Fixes PR port-sparc64/47535.
To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/external/public-domain/sqlite/bin/Makefile
cvs rdiff -u -r1.6 -r1.7 src/external/public-domain/sqlite/dist/sqlite3.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/external/public-domain/sqlite/bin/Makefile
diff -u src/external/public-domain/sqlite/bin/Makefile:1.3 src/external/public-domain/sqlite/bin/Makefile:1.4
--- src/external/public-domain/sqlite/bin/Makefile:1.3 Sun Dec 16 20:31:07 2012
+++ src/external/public-domain/sqlite/bin/Makefile Thu Feb 14 17:12:23 2013
@@ -1,11 +1,11 @@
-# $NetBSD: Makefile,v 1.3 2012/12/16 20:31:07 christos Exp $
+# $NetBSD: Makefile,v 1.4 2013/02/14 17:12:23 martin Exp $
PROG= sqlite3
SRCS= shell.c
DPADD+= ${LIBSQLITE3} ${LIBEDIT} ${LIBTERIMINFO}
-LDADD+= -lsqlite3 -ledit -lterminfo
+LDADD+= -lsqlite3 -ledit -lterminfo -lm
BINDIR= /usr/bin
Index: src/external/public-domain/sqlite/dist/sqlite3.c
diff -u src/external/public-domain/sqlite/dist/sqlite3.c:1.6 src/external/public-domain/sqlite/dist/sqlite3.c:1.7
--- src/external/public-domain/sqlite/dist/sqlite3.c:1.6 Mon Feb 6 17:24:49 2012
+++ src/external/public-domain/sqlite/dist/sqlite3.c Thu Feb 14 17:12:23 2013
@@ -19422,11 +19422,14 @@ static const et_info fmtinfo[] = {
** 16 (the number of significant digits in a 64-bit float) '0' is
** always returned.
*/
+#ifdef SQLITE_HAVE_ISNAN
+# include <math.h>
+#endif
static char et_getdigit(LONGDOUBLE_TYPE *val, int *cnt){
int digit;
LONGDOUBLE_TYPE d;
if( (*cnt)++ >= 16 ) return '0';
- digit = (int)*val;
+ digit = (int)floor(*val);
d = digit;
digit += '0';
*val = (*val - d)*10.0;
@@ -20998,9 +21001,6 @@ SQLITE_PRIVATE void sqlite3UtfSelfTest(v
**
*/
/* #include <stdarg.h> */
-#ifdef SQLITE_HAVE_ISNAN
-# include <math.h>
-#endif
/*
** Routine needed to support the testcase() macro.
@@ -132872,7 +132872,7 @@ SQLITE_API int sqlite3_extension_init(
** May you share freely, never taking more than you give.
**
*************************************************************************
-** $Id: sqlite3.c,v 1.6 2012/02/06 17:24:49 matt Exp $
+** $Id: sqlite3.c,v 1.7 2013/02/14 17:12:23 martin Exp $
**
** This file implements an integration between the ICU library
** ("International Components for Unicode", an open-source library