aboutsummaryrefslogtreecommitdiff
path: root/ext/fts3/fts3_snippet.c
diff options
context:
space:
mode:
authordan <dan@noemail.net>2015-06-02 18:07:58 +0000
committerdan <dan@noemail.net>2015-06-02 18:07:58 +0000
commit167fd757f0799d5c6519d66cd9f26e6ffcb2f1bd (patch)
tree4482f33a4ccf87878095e1bddd515f85f7d57137 /ext/fts3/fts3_snippet.c
parentdbef6e752e9c1d26f9f1a0a62fee3e523b490bf0 (diff)
parent467c1c70fb519279fe5f806425923417673eb2f1 (diff)
downloadsqlite-167fd757f0799d5c6519d66cd9f26e6ffcb2f1bd.tar.gz
sqlite-167fd757f0799d5c6519d66cd9f26e6ffcb2f1bd.zip
Merge latest trunk changes with this branch.
FossilOrigin-Name: c9ffda4abb4390bbc5719e269196e2807b254f97
Diffstat (limited to 'ext/fts3/fts3_snippet.c')
-rw-r--r--ext/fts3/fts3_snippet.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/ext/fts3/fts3_snippet.c b/ext/fts3/fts3_snippet.c
index 646d7acd5..a0771c0b3 100644
--- a/ext/fts3/fts3_snippet.c
+++ b/ext/fts3/fts3_snippet.c
@@ -104,7 +104,7 @@ struct MatchinfoBuffer {
int nElem;
int bGlobal; /* Set if global data is loaded */
char *zMatchinfo;
- u32 aMatchinfo[0];
+ u32 aMatchinfo[1];
};
@@ -130,8 +130,8 @@ struct StrBuffer {
*/
static MatchinfoBuffer *fts3MIBufferNew(int nElem, const char *zMatchinfo){
MatchinfoBuffer *pRet;
- int nByte = sizeof(u32) * (2*nElem + 2) + sizeof(MatchinfoBuffer);
- int nStr = strlen(zMatchinfo);
+ int nByte = sizeof(u32) * (2*nElem + 1) + sizeof(MatchinfoBuffer);
+ int nStr = (int)strlen(zMatchinfo);
pRet = sqlite3_malloc(nByte + nStr+1);
if( pRet ){
@@ -1288,6 +1288,7 @@ static int fts3MatchinfoValues(
if( rc!=SQLITE_OK ) break;
}
rc = fts3ExprIterate(pExpr, fts3ExprGlobalHitsCb,(void*)pInfo);
+ sqlite3Fts3EvalTestDeferred(pCsr, &rc);
if( rc!=SQLITE_OK ) break;
}
(void)fts3ExprIterate(pExpr, fts3ExprLocalHitsCb,(void*)pInfo);