Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Refinements to the previous check-in. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | altShellFix |
Files: | files | file ages | folders |
SHA1: |
b36dfdff787dc4a107b2c3fcbb98bfc4 |
User & Date: | mistachkin 2016-04-04 02:33:34.200 |
Context
2016-04-04
| ||
15:47 | Add and enhance the new tests. (Closed-Leaf check-in: f4cbd18db4 user: mistachkin tags: altShellFix) | |
02:33 | Refinements to the previous check-in. (check-in: b36dfdff78 user: mistachkin tags: altShellFix) | |
02:16 | Experimental changes to the command line shell to make it work better with Unicode on Windows. (check-in: 74183a5f80 user: mistachkin tags: altShellFix) | |
Changes
Changes to src/shell.c.
︙ | ︙ | |||
4995 4996 4997 4998 4999 5000 5001 | # endif #endif #if SQLITE_SHELL_IS_UTF8 int SQLITE_CDECL main(int argc, char **argv){ #else int SQLITE_CDECL wmain(int argc, wchar_t **wargv){ | | > > | 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 | # endif #endif #if SQLITE_SHELL_IS_UTF8 int SQLITE_CDECL main(int argc, char **argv){ #else int SQLITE_CDECL wmain(int argc, wchar_t **wargv){ char **argv; #endif char *zErrMsg = 0; ShellState data; const char *zInitFile = 0; int i; int rc = 0; int warnInmemoryDb = 0; int readStdin = 1; int nCmd = 0; char **azCmd = 0; setBinaryMode(stdin, 0); setvbuf(stderr, 0, _IONBF, 0); /* Make sure stderr is unbuffered */ stdin_is_interactive = isatty(0); stdout_is_console = isatty(1); #if USE_SYSTEM_SQLITE+0!=1 if( strcmp(sqlite3_sourceid(),SQLITE_SOURCE_ID)!=0 ){ utf8_printf(stderr, "SQLite header and source version mismatch\n%s\n%s\n", sqlite3_sourceid(), SQLITE_SOURCE_ID); exit(1); } |
︙ | ︙ | |||
5033 5034 5035 5036 5037 5038 5039 5040 | argv[i] = sqlite3_win32_unicode_to_utf8(wargv[i]); if( argv[i]==0 ){ raw_printf(stderr, "out of memory\n"); exit(1); } } #endif Argv0 = argv[0]; | > < < | 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 | argv[i] = sqlite3_win32_unicode_to_utf8(wargv[i]); if( argv[i]==0 ){ raw_printf(stderr, "out of memory\n"); exit(1); } } #endif assert( argc>=1 && argv && argv[0] ); Argv0 = argv[0]; /* Make sure we have a valid signal handler early, before anything ** else is done. */ #ifdef SIGINT signal(SIGINT, interrupt_handler); #endif |
︙ | ︙ |
Changes to test/shell1.test.
︙ | ︙ | |||
907 908 909 910 911 912 913 | if {$res ne "$oldChar\n"} { error "failed with byte $hex mismatch" } } } {} do_test shell1-6.0 { | | | | 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 | if {$res ne "$oldChar\n"} { error "failed with byte $hex mismatch" } } } {} do_test shell1-6.0 { # The base file name here is the word "test" in Chinese. # In UTF-8, it is encoded as: \xE6\xB5\x8B\xE8\xAF\x95 set fileName \u6D4B\u8BD5; append fileName .db set x [catchcmdex $fileName "CREATE TABLE t1(x);\n.schema\n"] set code [lindex $x 0] set res [string trim [lindex $x 1]] if {$code ne "0"} { error "failed with error: $res" } if {$res ne "CREATE TABLE t1(x);"} { error "failed with mismatch: $res" } if {![file exists $fileName]} { error "file \"$fileName\" (Unicode) does not exist" } forcedelete $fileName } {} finish_test |