Have sqlite3_create_collation() return MISUSE if passed an encoding value other than SQLITE_UTF8, SQLITE_UTF16LE, SQLITE_UTF16BE, SQLITE_UTF16 or SQLITE_UTF16_ALIGNED. (CVS 6558)

FossilOrigin-Name: 7975b6f2ec7736b3656a264c2f7e7e95ce7a78e4
This commit is contained in:
danielk1977 2009-04-28 15:35:38 +00:00
parent a83ccca794
commit ebb329397c
4 changed files with 16 additions and 18 deletions

View File

@ -1,5 +1,5 @@
C Do\snot\sstore\sthe\szero\sstring\sterminator\sas\spart\sof\sthe\sname\swhen\sholding\nsymbols\sin\sthe\ssymbol\stable.\s(CVS\s6557)
D 2009-04-28T13:01:09
C Have\ssqlite3_create_collation()\sreturn\sMISUSE\sif\spassed\san\sencoding\svalue\sother\sthan\sSQLITE_UTF8,\sSQLITE_UTF16LE,\sSQLITE_UTF16BE,\sSQLITE_UTF16\sor\sSQLITE_UTF16_ALIGNED.\s(CVS\s6558)
D 2009-04-28T15:35:39
F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
F Makefile.in 583e87706abc3026960ed759aff6371faf84c211
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@ -125,7 +125,7 @@ F src/insert.c 71286d081a919a27ef22eaeccbe2718f93dc6aa9
F src/journal.c e00df0c0da8413ab6e1bb7d7cab5665d4a9000d0
F src/legacy.c 2ad5b52df322d0f132f66817095e0e79c8942611
F src/loadext.c 3f96631089fc4f3871a67f02f2e4fc7ea4d51edc
F src/main.c 4a2f8f362eca72237b30c89a240d0e8ca08d1df0
F src/main.c e5249f662cd2bff88baeee5c5dda3b4364b91a51
F src/malloc.c a1f0f8ae110abb8eb546e259ab0eaea7e0f9b588
F src/mem0.c f2f84062d1f35814d6535c9f9e33de3bfb3b132c
F src/mem1.c e6d5c23941288df8191b8a98c28e3f57771e2270
@ -167,7 +167,7 @@ F src/sqliteLimit.h ffe93f5a0c4e7bd13e70cd7bf84cfb5c3465f45d
F src/status.c 237b193efae0cf6ac3f0817a208de6c6c6ef6d76
F src/table.c cc86ad3d6ad54df7c63a3e807b5783c90411a08d
F src/tclsqlite.c d3195e0738c101a155404ecdb1cd9532a2fd34f2
F src/test1.c c4feac6518b0523e944e9cc6a4864854d81a2216
F src/test1.c c4d475f899e2160c686449d2b4fea7b846f5bd34
F src/test2.c 71c22e2974f8094fe0fd1eba8f27872dde9b2a39
F src/test3.c d3115b301c6ee761b102f315fe24125f3d6c3a4d
F src/test4.c f79ab52d27ff49b784b631a42e2ccd52cfd5c84c
@ -725,7 +725,7 @@ F tool/speedtest16.c c8a9c793df96db7e4933f0852abb7a03d48f2e81
F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
P e096f90a57f0e0d1dbeaafc72762035ca55ab803
R f73743cb4e4b683f902aa1f7603e9fc9
U drh
Z d3fa05c89f737695a94e4772c7919db7
P 23d67af39227aeade2ea0292e1b8844eea580993
R fcd591943dcfa775dbae9e00324b29d3
U danielk1977
Z c812cbe48ecf60026f66cd5f41f509d1

View File

@ -1 +1 @@
23d67af39227aeade2ea0292e1b8844eea580993
7975b6f2ec7736b3656a264c2f7e7e95ce7a78e4

View File

@ -14,7 +14,7 @@
** other files are for internal use by SQLite and should not be
** accessed by users of the library.
**
** $Id: main.c,v 1.541 2009/04/28 04:47:31 drh Exp $
** $Id: main.c,v 1.542 2009/04/28 15:35:39 danielk1977 Exp $
*/
#include "sqliteInt.h"
@ -1361,9 +1361,9 @@ static int createCollation(
** SQLITE_UTF16NATIVE macro. SQLITE_UTF16 is not used internally.
*/
enc2 = enc;
testcase( enc2 & SQLITE_UTF16 );
testcase( enc2 & SQLITE_UTF16_ALIGNED );
if( enc2 & (SQLITE_UTF16|SQLITE_UTF16_ALIGNED) ){
testcase( enc2==SQLITE_UTF16 );
testcase( enc2==SQLITE_UTF16_ALIGNED );
if( enc2==SQLITE_UTF16 || enc2==SQLITE_UTF16_ALIGNED ){
enc2 = SQLITE_UTF16NATIVE;
}
if( enc2<SQLITE_UTF8 || enc2>SQLITE_UTF16BE ){

View File

@ -13,7 +13,7 @@
** is not included in the SQLite library. It is used for automated
** testing of the SQLite library.
**
** $Id: test1.c,v 1.351 2009/04/08 15:45:32 drh Exp $
** $Id: test1.c,v 1.352 2009/04/28 15:35:39 danielk1977 Exp $
*/
#include "sqliteInt.h"
#include "tcl.h"
@ -2488,11 +2488,9 @@ static int add_alignment_test_collations(
sqlite3 *db;
if( objc>=2 ){
if( getDbPointer(interp, Tcl_GetString(objv[1]), &db) ) return TCL_ERROR;
sqlite3_create_collation(db, "utf16_unaligned",
SQLITE_UTF16,
sqlite3_create_collation(db, "utf16_unaligned", SQLITE_UTF16,
0, alignmentCollFunc);
sqlite3_create_collation(db, "utf16_aligned",
SQLITE_UTF16 | SQLITE_UTF16_ALIGNED,
sqlite3_create_collation(db, "utf16_aligned", SQLITE_UTF16_ALIGNED,
0, alignmentCollFunc);
}
return SQLITE_OK;