]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Save a few bytes in utf.c. (CVS 1981)
authordrh <drh@noemail.net>
Fri, 24 Sep 2004 23:20:51 +0000 (23:20 +0000)
committerdrh <drh@noemail.net>
Fri, 24 Sep 2004 23:20:51 +0000 (23:20 +0000)
FossilOrigin-Name: 8154d545e8ae3d22490b49ce4f327605883accaa

manifest
manifest.uuid
src/utf.c

index 98f9d9d666668006d6437b8d13469185ccf8996d..8f8d76478ed28d30c401d78edf2c580c27caa360 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Optimizations\sto\svdbeaux.c\sand\sprintf.c\s(CVS\s1980)
-D 2004-09-24T22:32:31
+C Save\sa\sfew\sbytes\sin\sutf.c.\s(CVS\s1981)
+D 2004-09-24T23:20:52
 F Makefile.in abdeb5bd9d017822691884935c320037c33f6ee6
 F Makefile.linux-gcc a9e5a0d309fa7c38e7c14d3ecf7690879d3a5457
 F README f1de682fbbd94899d50aca13d387d1b3fd3be2dd
@@ -71,7 +71,7 @@ F src/test5.c b001fa7f1b9e2dc5c2331de62fc641b5ab2bd7a1
 F src/tokenize.c 418ef7ba1149603a30dcf0057e04a3ea0e99edbe
 F src/trigger.c d1f770ee37a80391dd6d0948ee821b0272f99ae7
 F src/update.c 7157084216c4b02a23cdb23eb6d246aa9034fa4d
-F src/utf.c 328890099db492dda5620ee5f924e244c6e57ff7
+F src/utf.c f4f83acd73389090e32d6589d307fc55d794c7ed
 F src/util.c f9b661a3b80a1469777771776a59a5f0e2f193fc
 F src/vacuum.c 257de36230cb988842f66eb08dc6c0250b8e05f3
 F src/vdbe.c 0542852785220807feb02b9dee1150ac2e592c8d
@@ -247,7 +247,7 @@ F www/tclsqlite.tcl 560ecd6a916b320e59f2917317398f3d59b7cc25
 F www/vdbe.tcl 59288db1ac5c0616296b26dce071c36cb611dfe9
 F www/version3.tcl 092a01f5ef430d2c4acc0ae558d74c4bb89638a0
 F www/whentouse.tcl a8335bce47cc2fddb07f19052cb0cb4d9129a8e4
-P bdc3bb070f7f29713b7bb9a6454a7ecbee6cf36d
-R 07e2fbac83a5f125e4876d6fcf9bf7e8
+P eabc77c99b3e78b4c620a1736d9acfa6cb1e7b67
+R c07c37cfeb3c8a36c1a7b9c5d319b905
 U drh
-Z 242bf20dc4f04b5461b10f0143a31a44
+Z b991617d4e2790fa5a311f1ff33d427d
index 287b4f3d72d8b1cd6fb8f6cd536e46845e7e168c..6b569a3a91b51ee3fa8f051e46d4afaa42268b2a 100644 (file)
@@ -1 +1 @@
-eabc77c99b3e78b4c620a1736d9acfa6cb1e7b67
\ No newline at end of file
+8154d545e8ae3d22490b49ce4f327605883accaa
\ No newline at end of file
index 033ed38a7892b427f5991f7d8eced7010d346071..0d9a73395e8d81c06c930646b04aaec9c98b4102 100644 (file)
--- a/src/utf.c
+++ b/src/utf.c
@@ -12,7 +12,7 @@
 ** This file contains routines used to translate between UTF-8, 
 ** UTF-16, UTF-16BE, and UTF-16LE.
 **
-** $Id: utf.c,v 1.28 2004/08/31 00:52:37 drh Exp $
+** $Id: utf.c,v 1.29 2004/09/24 23:20:52 drh Exp $
 **
 ** Notes on UTF-8:
 **
@@ -324,17 +324,16 @@ int sqlite3VdbeMemTranslate(Mem *pMem, u8 desiredEnc){
         READ_UTF8(zIn, c); 
         WRITE_UTF16LE(z, c);
       }
-      WRITE_UTF16LE(z, 0);
-      pMem->n = (z-zOut)-2;
-    }else if( desiredEnc==SQLITE_UTF16BE ){
+    }else{
+      assert( desiredEnc==SQLITE_UTF16BE );
       /* UTF-8 -> UTF-16 Big-endian */
       while( zIn<zTerm ){
         READ_UTF8(zIn, c); 
         WRITE_UTF16BE(z, c);
       }
-      WRITE_UTF16BE(z, 0);
-      pMem->n = (z-zOut)-2;
     }
+    pMem->n = z - zOut;
+    *z++ = 0;
   }else{
     assert( desiredEnc==SQLITE_UTF8 );
     if( pMem->enc==SQLITE_UTF16LE ){
@@ -343,18 +342,16 @@ int sqlite3VdbeMemTranslate(Mem *pMem, u8 desiredEnc){
         READ_UTF16LE(zIn, c); 
         WRITE_UTF8(z, c);
       }
-      WRITE_UTF8(z, 0);
-      pMem->n = (z-zOut)-1;
     }else{
       /* UTF-16 Little-endian -> UTF-8 */
       while( zIn<zTerm ){
         READ_UTF16BE(zIn, c); 
         WRITE_UTF8(z, c);
       }
-      WRITE_UTF8(z, 0);
-      pMem->n = (z-zOut)-1;
     }
+    pMem->n = z - zOut;
   }
+  *z = 0;
   assert( (pMem->n+(desiredEnc==SQLITE_UTF8?1:2))<=len );
 
   sqlite3VdbeMemRelease(pMem);