return rc;
}
- while( p>=pStart && (*p & 0x80) | c ){
+
+ /*
+ ** When called, *ppPoslist must point to the byte immediately following the
+ ** end of a position-list. i.e. ( (*ppPoslist)[-1]==POS_END ). This function
+ ** moves *ppPoslist so that it instead points to the first byte of the
+ ** same position list.
+ */
+ static void fts3ReversePoslist(char *pStart, char **ppPoslist){
+ char *p = &(*ppPoslist)[-3];
+ char c = p[1];
++ while( p>pStart && (*p & 0x80) | c ){
+ c = *p--;
+ }
+ if( p>pStart ){ p = &p[2]; }
+ while( *p++&0x80 );
+ *ppPoslist = p;
+ }
+
+
/*
** After ExprLoadDoclist() (see above) has been called, this function is
** used to iterate/search through the position lists that make up the doclist
- C In\swindows,\signore\sERROR_NOT_LOCKED\swhen\scalling\sthe\sread-lock\sremoval\nroutine.
- D 2011-04-27T19:54:44.305
-C Fix\sa\scouple\sof\scompiler\swarnings\sin\sthe\sFTS\scode.
-D 2011-05-04T16:30:05.506
++C Merge\svtab-conflict\sbranch\swith\strunk.
++D 2011-05-04T17:23:19.296
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
F Makefile.in 7a4d9524721d40ef9ee26f93f9bd6a51dba106f2
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
F ext/fts3/README.syntax a19711dc5458c20734b8e485e75fb1981ec2427a
F ext/fts3/README.tokenizers 998756696647400de63d5ba60e9655036cb966e9
F ext/fts3/README.txt 8c18f41574404623b76917b9da66fcb0ab38328d
- F ext/fts3/fts3.c 5653c5654ac9b65bf3646af7e1d695c7e9b991a0
-F ext/fts3/fts3.c 84dc693d123ae544ec68fc7b384960b759d93c8a
++F ext/fts3/fts3.c 73d6718dba1e4ef621ff8a4ac1c22019460c84cc
F ext/fts3/fts3.h 3a10a0af180d502cecc50df77b1b22df142817fe
- F ext/fts3/fts3Int.h 945926ea4b6a686c3e9834640a252d9870b7191e
+ F ext/fts3/fts3Int.h 8c2ac39ee17362571c58ab2c4f0667324c31f738
F ext/fts3/fts3_aux.c 9e931f55eed8498dafe7bc1160f10cbb1a652fdf
F ext/fts3/fts3_expr.c 5f49e0deaf723724b08100bb3ff40aab02ad0c93
F ext/fts3/fts3_hash.c 3c8f6387a4a7f5305588b203fa7c887d753e1f1c
F src/vdbe.h 8a675fefdf7119441fe817c800a9a52440c2e797
F src/vdbeInt.h fe8f58d305e629fff02f61f655aca1d299f1f6ae
F src/vdbeapi.c e0e2672e0a96ae3f8575c8ecd02912a3e8a554a1
- F src/vdbeaux.c 5b8150112b490360fdf46f62f470a2ef75b0480a
-F src/vdbeaux.c 5c4cd4be10b8247061f97b77fa2b0a23728d43ed
++F src/vdbeaux.c 25aa5ba7d46b4fe7c8f33dc132d474242d5f9726
F src/vdbeblob.c c3ccb7c8732858c680f442932e66ad06bb036562
F src/vdbemem.c 0498796b6ffbe45e32960d6a1f5adfb6e419883b
F src/vdbetrace.c 5d0dc3d5fd54878cc8d6d28eb41deb8d5885b114
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
F tool/split-sqlite3c.tcl d9be87f1c340285a3e081eb19b4a247981ed290c
F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
- P 1bd1484cd7e09709d87aa84b82e87597d00a4162
- R 9628f97d1cf37de85ec8d2f9df941216
- U drh
- Z cb18bd6131d197c3ee5b628d2860f479
-P 95e09b20e9aad28f829c8950f3632debe473070a
-R 91dde4b8c1110da860391480e16cf257
++P f55156c5194e85c47728b8a97fde3e5f0a5c9b56 1a113359705d307efa1833b1dfa5542b045dae43
++R ce8473bec0301287a61bbbfd48f07dff
+ U dan
-Z 55ea31537da115eeaba601610bb50d13
++Z 6d8393d5b7b8dbdcf9f90f047ce29665