-C Slightly\sfaster\sfunction\sdispatch\sin\sthe\svirtual\smachine\sby\savoiding\nunnecessary\sreinitialization\sof\svariables\sthat\sare\salready\scorrectly\ninitialized.
-D 2018-01-23T03:44:06.287
+C Slightly\sfaster\simplementation\sof\sthe\slength()\sSQL\sfunction.
+D 2018-01-23T04:22:33.527
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F Makefile.in 38f84f301cbef443b2d269f67a74b8cc536469831f70df7c3e912acc04932cc2
F src/expr.c 9e06de431c09f144438aa6895ea4d4290fa3c6875bfcc3ba331012ca78deadf0
F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007
F src/fkey.c d617daf66b5515e2b42c1405b2b4984c30ca50fb705ab164271a9bf66c69e331
-F src/func.c 24d4746d347442c99153b5f9ac3204f6932d8d591008a94d6967de6b62fc0102
+F src/func.c 227d17a030b75f7495fc3b8d1aca19850e794397433175c1ba21b713d9833f14
F src/global.c ac3094f1dc59fbeb919aef7cc0cc827a8459d1fb1adb7972ef75bd9e0c10b75b
F src/hash.c a12580e143f10301ed5166ea4964ae2853d3905a511d4e0c44497245c7ce1f7a
F src/hash.h ab34c5c54a9e9de2e790b24349ba5aab3dbb4fd4
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 012d7d49c571207087bbe24af05d639627b96df526bfcb2098a3e975b74d865d
-R 117511e55335ee1f52b85cfdea90c38c
+P edd4e6876cc08ab907bb21f075380de946562d4c56a04923760848b4b11536ac
+R aa1994289d6ea2ba21f905f276b2d5c2
U drh
-Z e3904fade688ed958d5e16ed2185daad
+Z fced45fd12f23e9379e90a75bf8cc2b6
int argc,
sqlite3_value **argv
){
- int len;
-
assert( argc==1 );
UNUSED_PARAMETER(argc);
switch( sqlite3_value_type(argv[0]) ){
}
case SQLITE_TEXT: {
const unsigned char *z = sqlite3_value_text(argv[0]);
+ const unsigned char *z0;
+ unsigned char c;
if( z==0 ) return;
- len = 0;
- while( *z ){
- len++;
- SQLITE_SKIP_UTF8(z);
+ z0 = z;
+ while( (c = *z)!=0 ){
+ z++;
+ if( c>=0xc0 ){
+ while( (*z & 0xc0)==0x80 ){ z++; z0++; }
+ }
}
- sqlite3_result_int(context, len);
+ sqlite3_result_int(context, (int)(z-z0));
break;
}
default: {