diff options
author | drh <drh@noemail.net> | 2020-01-09 16:28:50 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2020-01-09 16:28:50 +0000 |
commit | b84fda37efdd612288c1bc4933fa3ae6bcc2ffbc (patch) | |
tree | 4afe2e3951a7b2ae7769dd21695302ca35e4a432 /src | |
parent | 51ebd5fa14916c791f2bde20810d9eed107e0db5 (diff) | |
download | sqlite-b84fda37efdd612288c1bc4933fa3ae6bcc2ffbc.tar.gz sqlite-b84fda37efdd612288c1bc4933fa3ae6bcc2ffbc.zip |
Fix a problem in the encoding display in the updated PRAGMA function_list.
FossilOrigin-Name: 318ff7720bc60c30c0826becce424226e9cec25c1d59cb2cdb75793739322760
Diffstat (limited to 'src')
-rw-r--r-- | src/pragma.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/src/pragma.c b/src/pragma.c index 2c127ed5a..9c292e163 100644 --- a/src/pragma.c +++ b/src/pragma.c @@ -307,7 +307,6 @@ static void pragmaFunclistLine( ){ for(; p; p=p->pNext){ const char *zType; - const char *zEnc; static const u32 mask = SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | @@ -315,6 +314,12 @@ static void pragmaFunclistLine( SQLITE_INNOCUOUS | SQLITE_FUNC_INTERNAL ; + static const char *azEnc[] = { 0, "utf8", "utf16le", "utf16be" }; + + assert( SQLITE_FUNC_ENCMASK==0x3 ); + assert( strcmp(azEnc[SQLITE_UTF8],"utf8")==0 ); + assert( strcmp(azEnc[SQLITE_UTF16LE],"utf16le")==0 ); + assert( strcmp(azEnc[SQLITE_UTF16BE],"utf16be")==0 ); if( p->xSFunc==0 ) continue; if( (p->funcFlags & SQLITE_FUNC_INTERNAL)!=0 @@ -329,16 +334,9 @@ static void pragmaFunclistLine( }else{ zType = "s"; } - if( p->funcFlags & SQLITE_UTF8 ){ - zEnc = "utf8"; - }else if( p->funcFlags & SQLITE_UTF16BE ){ - zEnc = "utf16be"; - }else{ - zEnc = "utf16le"; - } sqlite3VdbeMultiLoad(v, 1, "sissii", p->zName, isBuiltin, - zType, zEnc, + zType, azEnc[p->funcFlags&SQLITE_FUNC_ENCMASK], p->nArg, (p->funcFlags & mask) ^ SQLITE_INNOCUOUS ); |