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) */ |