}
#endif /* !defined(SQLITE_CIO_NO_TRANSLATE) */
-#undef CIO_WIN_WC_XLATE
#undef SHELL_INVALID_FILE_PTR
**
** The symbols and functionality exposed here are not a public API.
** This code may change in tandem with other project code as needed.
+**
+** When this .h file and its companion .c are directly incorporated into
+** a source conglomeration (such as shell.c), the preprocessor symbol
+** CIO_WIN_WC_XLATE is defined as 0 or 1, reflecting whether console I/O
+** translation for Windows is effected for the build.
*/
#ifndef SQLITE_INTERNAL_LINKAGE
-C Back\sout\san\sincorrect\schange\sto\sthe\ssqlite3ExprCompareSkip()\sfunction\sfrom\nlong\sago.
-D 2023-11-20T15:58:14.319
+C Pickup\sminor\sstylistic\schanges\srelated\sto\sconsole\sI/O\sand,\sfor\sWindows\sbuilds,\sget\sfact\sof\sUTF-16\stranslation\sinto\sthe\ssign-on\sbanner.\s(a\sstraight\scherry-pick)
+D 2023-11-21T18:46:17.353
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
F ext/async/README.txt e12275968f6fde133a80e04387d0e839b0c51f91
F ext/async/sqlite3async.c 6f247666b495c477628dd19364d279c78ea48cd90c72d9f9b98ad1aff3294f94
F ext/async/sqlite3async.h 46b47c79357b97ad85d20d2795942c0020dc20c532114a49808287f04aa5309a
-F ext/consio/console_io.c 2645b9557c620d18d4668a496937a2274fc44867d4243b67f5b21d904858dcbd x
-F ext/consio/console_io.h b0fbd99ba1bec2564340cef532dfa37465c1ad1ee82a2e0166aa2d82f29fcdd3
+F ext/consio/console_io.c 6413a38e3d67ed9b6e0b8f33f051bdab1c2ebdbcdcdfaebd5ac7b31b23c56881 x
+F ext/consio/console_io.h d18bcc50f4e4d42b65be8fecba72918364ae77182c86360aca842e44b823384e
F ext/expert/README.md b321c2762bb93c18ea102d5a5f7753a4b8bac646cb392b3b437f633caf2020c3
F ext/expert/expert.c d548d603a4cc9e61f446cc179c120c6713511c413f82a4a32b1e1e69d3f086a4
F ext/expert/expert1.test 0dd5cb096d66bed593e33053a3b364f6ef52ed72064bf5cf298364636dbf3cd6
F src/resolve.c 31229276a8eb5b5de1428cd2d80f6f1cf8ffc5248be25e47cf575df12f1b8f23
F src/rowset.c 8432130e6c344b3401a8874c3cb49fefe6873fec593294de077afea2dce5ec97
F src/select.c b3e8bb88f7a9572200fdb89cb1ef31605f45b7b2eb876d12d5102c068de905f0
-F src/shell.c.in 03158cff6ac95c72c5bd43969ad9aae7b4e0e220ed1492e06ef6b0ce2887dbd4
+F src/shell.c.in cbe850737d4166347bfe5fc7d695229379347509bf114cf6abeb1e384f2d7a70
F src/sqlite.h.in 4f841d3d117b830ee5ee45e8d89ceff1195f3ebb72d041ace8d116ba4c103b35
F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
F src/sqlite3ext.h 3f046c04ea3595d6bfda99b781926b17e672fd6d27da2ba6d8d8fc39981dcb54
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 184a0cd2e855c5177948eaf754c82685e2fcd5a08488d4d3d7b5fc7537e007b4
-Q +f5b3eb0fc8936ba274a7654ff6dfa7d4654bd8dbca7f3a5ec1134b0b5260d59d
-R 6b66545c1372ed8f4b502fe81c749c4d
-U drh
-Z a28ff599c6d4a84d4d34914308f4796f
+P 89658abbcd04e6f6d5a2139fa92091df1de72e56bdbb12aacebf9e9178c58e3b
+Q +24774e77c78705de9e10b9091b9d140cc7581de476b3d3e8febaff08c804a9c4
+R 47f0b8f3fa8f56fafbe88d65af3f6dd7
+U larrybr
+Z c0e72472eb26493856ab138691a9f910
# Remove this line to create a well-formed Fossil manifest.
-89658abbcd04e6f6d5a2139fa92091df1de72e56bdbb12aacebf9e9178c58e3b
\ No newline at end of file
+d7a59e79467cf7aa13291c58f1cc4c1e2a51494bdd28661039421868f61088bd
\ No newline at end of file
static int stdin_is_interactive = 1;
/*
-** On Windows systems we have to know if standard output is a console
-** in order to translate UTF-8 into MBCS. The following variable is
-** true if translation is required.
+** On Windows systems we need to know if standard output is a console
+** in order to show that UTF-16 translation is done in the sign-on
+** banner. The following variable is true if it is the console.
*/
static int stdout_is_console = 1;
}
if( pChng
&& fwrite(pChng, szChng, 1, out)!=1 ){
- eputf("ERROR: Failed to write entire %d-byte output\n",
- szChng);
+ eputf("ERROR: Failed to write entire %d-byte output\n", szChng);
}
sqlite3_free(pChng);
fclose(out);
FOREGROUND_RED|FOREGROUND_INTENSITY
);
#endif
- oputf("%s", zText);
+ oputz(zText);
#if !SQLITE_OS_WINRT
SetConsoleTextAttribute(out, defaultScreenInfo.wAttributes);
#endif
*/
static char *cmdline_option_value(int argc, char **argv, int i){
if( i==argc ){
- eputf("%s: Error: missing argument to %s\n",
- argv[0], argv[argc-1]);
+ eputf("%s: Error: missing argument to %s\n", argv[0], argv[argc-1]);
exit(1);
}
return argv[i];
signal(SIGINT, interrupt_handler);
#elif (defined(_WIN32) || defined(WIN32)) && !defined(_WIN32_WCE)
if( !SetConsoleCtrlHandler(ConsoleCtrlHandler, TRUE) ){
- eputf("No ^C handler.\n");
+ eputz("No ^C handler.\n");
}
#endif
if( stdin_is_interactive ){
char *zHome;
char *zHistory;
- const char *zCharset = "";
int nHistory;
-#if SHELL_CON_TRANSLATE==1
- zCharset = " (UTF-16 console I/O)";
-#elif SHELL_CON_TRANSLATE==2
- zCharset = " (MBCS console I/O)";
+#if CIO_WIN_WC_XLATE
+# define SHELL_CIO_CHAR_SET (stdout_is_console? " (UTF-16 console I/O)" : "")
+#else
+# define SHELL_CIO_CHAR_SET ""
#endif
oputf("SQLite version %s %.19s%s\n" /*extra-version-info*/
"Enter \".help\" for usage hints.\n",
- sqlite3_libversion(), sqlite3_sourceid(), zCharset);
+ sqlite3_libversion(), sqlite3_sourceid(), SHELL_CIO_CHAR_SET);
if( warnInmemoryDb ){
oputz("Connected to a ");
printBold("transient in-memory database");