Save a few bytes in utf.c. (CVS 1981)

FossilOrigin-Name: 8154d545e8ae3d22490b49ce4f327605883accaa
This commit is contained in:
drh
2004-09-24 23:20:51 +00:00
parent 76ff3a0e09
commit b8dd3155e0
3 changed files with 14 additions and 17 deletions
+6 -6
View File
@@ -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
+1 -1
View File
@@ -1 +1 @@
eabc77c99b3e78b4c620a1736d9acfa6cb1e7b67
8154d545e8ae3d22490b49ce4f327605883accaa
+7 -10
View File
@@ -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);