| Index: third_party/sqlite/src/ext/fts3/fts3_tokenizer1.c
|
| diff --git a/third_party/sqlite/src/ext/fts3/fts3_tokenizer1.c b/third_party/sqlite/src/ext/fts3/fts3_tokenizer1.c
|
| index bbc56969e918f5e52ceb9dda4f08f322e87dbbea..432c35d1a2518065965ec918afac208c4cd776dd 100644
|
| --- a/third_party/sqlite/src/ext/fts3/fts3_tokenizer1.c
|
| +++ b/third_party/sqlite/src/ext/fts3/fts3_tokenizer1.c
|
| @@ -24,6 +24,7 @@
|
| */
|
| #if !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_FTS3)
|
|
|
| +#include "fts3Int.h"
|
|
|
| #include <assert.h>
|
| #include <stdlib.h>
|
| @@ -48,9 +49,6 @@ typedef struct simple_tokenizer_cursor {
|
| } simple_tokenizer_cursor;
|
|
|
|
|
| -/* Forward declaration */
|
| -static const sqlite3_tokenizer_module simpleTokenizerModule;
|
| -
|
| static int simpleDelim(simple_tokenizer *t, unsigned char c){
|
| return c<0x80 && t->delim[c];
|
| }
|
| @@ -77,7 +75,7 @@ static int simpleCreate(
|
| ** information on the initial create.
|
| */
|
| if( argc>1 ){
|
| - int i, n = strlen(argv[1]);
|
| + int i, n = (int)strlen(argv[1]);
|
| for(i=0; i<n; i++){
|
| unsigned char ch = argv[1][i];
|
| /* We explicitly don't support UTF-8 delimiters for now. */
|
| @@ -91,7 +89,7 @@ static int simpleCreate(
|
| /* Mark non-alphanumeric ASCII characters as delimiters */
|
| int i;
|
| for(i=1; i<0x80; i++){
|
| - t->delim[i] = !fts3_isalnum(i);
|
| + t->delim[i] = !fts3_isalnum(i) ? -1 : 0;
|
| }
|
| }
|
|
|
| @@ -120,6 +118,8 @@ static int simpleOpen(
|
| ){
|
| simple_tokenizer_cursor *c;
|
|
|
| + UNUSED_PARAMETER(pTokenizer);
|
| +
|
| c = (simple_tokenizer_cursor *) sqlite3_malloc(sizeof(*c));
|
| if( c==NULL ) return SQLITE_NOMEM;
|
|
|
| @@ -184,16 +184,18 @@ static int simpleNext(
|
| if( c->iOffset>iStartOffset ){
|
| int i, n = c->iOffset-iStartOffset;
|
| if( n>c->nTokenAllocated ){
|
| + char *pNew;
|
| c->nTokenAllocated = n+20;
|
| - c->pToken = sqlite3_realloc(c->pToken, c->nTokenAllocated);
|
| - if( c->pToken==NULL ) return SQLITE_NOMEM;
|
| + pNew = sqlite3_realloc(c->pToken, c->nTokenAllocated);
|
| + if( !pNew ) return SQLITE_NOMEM;
|
| + c->pToken = pNew;
|
| }
|
| for(i=0; i<n; i++){
|
| /* TODO(shess) This needs expansion to handle UTF-8
|
| ** case-insensitivity.
|
| */
|
| unsigned char ch = p[iStartOffset+i];
|
| - c->pToken[i] = (ch>='A' && ch<='Z') ? ch-'A'+'a' : ch;
|
| + c->pToken[i] = (char)((ch>='A' && ch<='Z') ? ch-'A'+'a' : ch);
|
| }
|
| *ppToken = c->pToken;
|
| *pnBytes = n;
|
|
|