From: drh Date: Tue, 15 Nov 2005 02:14:00 +0000 (+0000) Subject: Fix a bug in UTF-16 handling introduced by the previous check-in. (CVS 2767) X-Git-Tag: version-3.6.10~3393 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a0943e66668b25869f217bcfff1bdc2342d35e61;p=thirdparty%2Fsqlite.git Fix a bug in UTF-16 handling introduced by the previous check-in. (CVS 2767) FossilOrigin-Name: 25fa16a2e1f324790f4b293df5d7142575034428 --- diff --git a/manifest b/manifest index a272077b2c..23a99a0765 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Create\sseparate\saffinities\sfor\sINTEGER\sand\sREAL.\s(CVS\s2766) -D 2005-11-14T22:29:05 +C Fix\sa\sbug\sin\sUTF-16\shandling\sintroduced\sby\sthe\sprevious\scheck-in.\s(CVS\s2767) +D 2005-11-15T02:14:01 F Makefile.in 12784cdce5ffc8dfb707300c34e4f1eb3b8a14f1 F Makefile.linux-gcc aee18d8a05546dcf1888bd4547e442008a49a092 F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028 @@ -81,7 +81,7 @@ F src/update.c fec7665138ccf2a2133f11dcd24c1134c6b33526 F src/utf.c bda5eb85039ef16f2d17004c1e18c96e1ab0a80c F src/util.c 48fecbbef4391d102a23096d32f0d74173428406 F src/vacuum.c baae8681282c7a03900043043dc7ce07d43b5a1e -F src/vdbe.c afbfb3433b3cbb0761d0f94a09126d1602fb8cc8 +F src/vdbe.c c4ff8b6ccfc41e0d49278ee90d3ee5090a7ea486 F src/vdbe.h 8729a4ee16ff9aeab2af9667df3cf300ff978e13 F src/vdbeInt.h 7824d7be3b659ad177c8f151d9612b45b1805878 F src/vdbeapi.c 85bbe1d0243a89655433d60711b4bd71979b59cd @@ -317,7 +317,7 @@ F www/tclsqlite.tcl ddcf912ea48695603c8ed7efb29f0812ef8d1b49 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0 F www/version3.tcl a99cf5f6d8bd4d5537584a2b342f0fb9fa601d8b F www/whentouse.tcl 97e2b5cd296f7d8057e11f44427dea8a4c2db513 -P c9b413ea22d1da926621670b903c7a683921eef0 -R d8f191533940ea8d6308558ebac8ebe3 +P ce06c123d0c5663dbaf263c2e0aaf5d9cdeb2ccd +R ac5513052a8e6c0ee190e3f8cafae3b1 U drh -Z 9c40014d05aa62d25fcf73885189668f +Z ef913d08214f6e274bc502dca166bab0 diff --git a/manifest.uuid b/manifest.uuid index 1fa979ba5b..b8c5e1522f 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -ce06c123d0c5663dbaf263c2e0aaf5d9cdeb2ccd \ No newline at end of file +25fa16a2e1f324790f4b293df5d7142575034428 \ No newline at end of file diff --git a/src/vdbe.c b/src/vdbe.c index bd9cf93be7..26e938ebb3 100644 --- a/src/vdbe.c +++ b/src/vdbe.c @@ -43,7 +43,7 @@ ** in this file for details. If in doubt, do not deviate from existing ** commenting and indentation practices when changing or adding code. ** -** $Id: vdbe.c,v 1.496 2005/11/14 22:29:05 drh Exp $ +** $Id: vdbe.c,v 1.497 2005/11/15 02:14:01 drh Exp $ */ #include "sqliteInt.h" #include "os.h" @@ -208,8 +208,10 @@ static void applyAffinity(Mem *pRec, char affinity, u8 enc){ */ int realnum; sqlite3VdbeMemNulTerminate(pRec); - if( (pRec->flags&MEM_Str) && sqlite3IsNumber(pRec->z, &realnum, enc) ){ + if( (pRec->flags&MEM_Str) + && sqlite3IsNumber(pRec->z, &realnum, pRec->enc) ){ i64 value; + sqlite3VdbeChangeEncoding(pRec, SQLITE_UTF8); if( !realnum && sqlite3atoi64(pRec->z, &value) ){ sqlite3VdbeMemRelease(pRec); pRec->i = value;