From: larrybr Date: Tue, 21 Nov 2023 18:46:17 +0000 (+0000) Subject: Pickup minor stylistic changes related to console I/O and, for Windows builds, get... X-Git-Tag: version-3.44.1~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1c83877d82bf63490267623a8e5f0abf313cb54e;p=thirdparty%2Fsqlite.git Pickup minor stylistic changes related to console I/O and, for Windows builds, get fact of UTF-16 translation into the sign-on banner. (a straight cherry-pick) FossilOrigin-Name: d7a59e79467cf7aa13291c58f1cc4c1e2a51494bdd28661039421868f61088bd --- diff --git a/ext/consio/console_io.c b/ext/consio/console_io.c index f4bf6246ad..b1a750f507 100755 --- a/ext/consio/console_io.c +++ b/ext/consio/console_io.c @@ -676,5 +676,4 @@ SQLITE_INTERNAL_LINKAGE char* fGetsUtf8(char *cBuf, int ncMax, FILE *pfIn){ } #endif /* !defined(SQLITE_CIO_NO_TRANSLATE) */ -#undef CIO_WIN_WC_XLATE #undef SHELL_INVALID_FILE_PTR diff --git a/ext/consio/console_io.h b/ext/consio/console_io.h index eedb4eaabf..21697d595e 100644 --- a/ext/consio/console_io.h +++ b/ext/consio/console_io.h @@ -22,6 +22,11 @@ ** ** 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 diff --git a/manifest b/manifest index 62c97669bd..e0aeff02b1 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -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 @@ -50,8 +50,8 @@ F ext/README.md fd5f78013b0a2bc6f0067afb19e6ad040e89a10179b4f6f03eee58fac5f169bd 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 @@ -724,7 +724,7 @@ F src/random.c 606b00941a1d7dd09c381d3279a058d771f406c5213c9932bbd93d5587be4b9c 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 @@ -2141,9 +2141,9 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 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. diff --git a/manifest.uuid b/manifest.uuid index fdedff0609..23561ef2f0 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -89658abbcd04e6f6d5a2139fa92091df1de72e56bdbb12aacebf9e9178c58e3b \ No newline at end of file +d7a59e79467cf7aa13291c58f1cc4c1e2a51494bdd28661039421868f61088bd \ No newline at end of file diff --git a/src/shell.c.in b/src/shell.c.in index 83844145f8..d52c7c53af 100644 --- a/src/shell.c.in +++ b/src/shell.c.in @@ -477,9 +477,9 @@ static int bail_on_error = 0; 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; @@ -10075,8 +10075,7 @@ static int do_meta_command(char *zLine, ShellState *p){ } 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); @@ -11859,7 +11858,7 @@ static void printBold(const char *zText){ FOREGROUND_RED|FOREGROUND_INTENSITY ); #endif - oputf("%s", zText); + oputz(zText); #if !SQLITE_OS_WINRT SetConsoleTextAttribute(out, defaultScreenInfo.wAttributes); #endif @@ -11876,8 +11875,7 @@ static void printBold(const char *zText){ */ 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]; @@ -11969,7 +11967,7 @@ int SQLITE_CDECL wmain(int argc, wchar_t **wargv){ 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 @@ -12461,16 +12459,15 @@ int SQLITE_CDECL wmain(int argc, wchar_t **wargv){ 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");