| Index: third_party/sqlite/sqlite-src-3100200/ext/fts5/fts5_unicode2.c
|
| diff --git a/third_party/sqlite/src/ext/fts3/fts3_unicode2.c b/third_party/sqlite/sqlite-src-3100200/ext/fts5/fts5_unicode2.c
|
| similarity index 95%
|
| copy from third_party/sqlite/src/ext/fts3/fts3_unicode2.c
|
| copy to third_party/sqlite/sqlite-src-3100200/ext/fts5/fts5_unicode2.c
|
| index 20b7a25dbfd4ea9db9ac18b9f48d50cc266b9df0..8ad709d0fd6b4528f9e2b94bf326b361386fa136 100644
|
| --- a/third_party/sqlite/src/ext/fts3/fts3_unicode2.c
|
| +++ b/third_party/sqlite/sqlite-src-3100200/ext/fts5/fts5_unicode2.c
|
| @@ -15,8 +15,6 @@
|
| ** DO NOT EDIT THIS MACHINE GENERATED FILE.
|
| */
|
|
|
| -#ifndef SQLITE_DISABLE_FTS3_UNICODE
|
| -#if defined(SQLITE_ENABLE_FTS3) || defined(SQLITE_ENABLE_FTS4)
|
|
|
| #include <assert.h>
|
|
|
| @@ -27,7 +25,7 @@
|
| ** The results are undefined if the value passed to this function
|
| ** is less than zero.
|
| */
|
| -int sqlite3FtsUnicodeIsalnum(int c){
|
| +int sqlite3Fts5UnicodeIsalnum(int c){
|
| /* Each unsigned integer in the following array corresponds to a contiguous
|
| ** range of unicode codepoints that are not either letters or numbers (i.e.
|
| ** codepoints for which this function should return 0).
|
| @@ -159,7 +157,7 @@ int sqlite3FtsUnicodeIsalnum(int c){
|
| ** E"). The resuls of passing a codepoint that corresponds to an
|
| ** uppercase letter are undefined.
|
| */
|
| -static int remove_diacritic(int c){
|
| +static int fts5_remove_diacritic(int c){
|
| unsigned short aDia[] = {
|
| 0, 1797, 1848, 1859, 1891, 1928, 1940, 1995,
|
| 2024, 2040, 2060, 2110, 2168, 2206, 2264, 2286,
|
| @@ -209,7 +207,7 @@ static int remove_diacritic(int c){
|
| ** Return true if the argument interpreted as a unicode codepoint
|
| ** is a diacritical modifier character.
|
| */
|
| -int sqlite3FtsUnicodeIsdiacritic(int c){
|
| +int sqlite3Fts5UnicodeIsdiacritic(int c){
|
| unsigned int mask0 = 0x08029FDF;
|
| unsigned int mask1 = 0x000361F8;
|
| if( c<768 || c>817 ) return 0;
|
| @@ -228,7 +226,7 @@ int sqlite3FtsUnicodeIsdiacritic(int c){
|
| ** The results are undefined if the value passed to this function
|
| ** is less than zero.
|
| */
|
| -int sqlite3FtsUnicodeFold(int c, int bRemoveDiacritic){
|
| +int sqlite3Fts5UnicodeFold(int c, int bRemoveDiacritic){
|
| /* Each entry in the following array defines a rule for folding a range
|
| ** of codepoints to lower case. The rule applies to a range of nRange
|
| ** codepoints starting at codepoint iCode.
|
| @@ -322,16 +320,17 @@ int sqlite3FtsUnicodeFold(int c, int bRemoveDiacritic){
|
|
|
| int ret = c;
|
|
|
| - assert( c>=0 );
|
| assert( sizeof(unsigned short)==2 && sizeof(unsigned char)==1 );
|
|
|
| if( c<128 ){
|
| if( c>='A' && c<='Z' ) ret = c + ('a' - 'A');
|
| }else if( c<65536 ){
|
| + const struct TableEntry *p;
|
| int iHi = sizeof(aEntry)/sizeof(aEntry[0]) - 1;
|
| int iLo = 0;
|
| int iRes = -1;
|
|
|
| + assert( c>aEntry[0].iCode );
|
| while( iHi>=iLo ){
|
| int iTest = (iHi + iLo) / 2;
|
| int cmp = (c - aEntry[iTest].iCode);
|
| @@ -342,17 +341,15 @@ int sqlite3FtsUnicodeFold(int c, int bRemoveDiacritic){
|
| iHi = iTest-1;
|
| }
|
| }
|
| - assert( iRes<0 || c>=aEntry[iRes].iCode );
|
|
|
| - if( iRes>=0 ){
|
| - const struct TableEntry *p = &aEntry[iRes];
|
| - if( c<(p->iCode + p->nRange) && 0==(0x01 & p->flags & (p->iCode ^ c)) ){
|
| - ret = (c + (aiOff[p->flags>>1])) & 0x0000FFFF;
|
| - assert( ret>0 );
|
| - }
|
| + assert( iRes>=0 && c>=aEntry[iRes].iCode );
|
| + p = &aEntry[iRes];
|
| + if( c<(p->iCode + p->nRange) && 0==(0x01 & p->flags & (p->iCode ^ c)) ){
|
| + ret = (c + (aiOff[p->flags>>1])) & 0x0000FFFF;
|
| + assert( ret>0 );
|
| }
|
|
|
| - if( bRemoveDiacritic ) ret = remove_diacritic(ret);
|
| + if( bRemoveDiacritic ) ret = fts5_remove_diacritic(ret);
|
| }
|
|
|
| else if( c>=66560 && c<66600 ){
|
| @@ -361,5 +358,3 @@ int sqlite3FtsUnicodeFold(int c, int bRemoveDiacritic){
|
|
|
| return ret;
|
| }
|
| -#endif /* defined(SQLITE_ENABLE_FTS3) || defined(SQLITE_ENABLE_FTS4) */
|
| -#endif /* !defined(SQLITE_DISABLE_FTS3_UNICODE) */
|
|
|