SQLite

Check-in [6364a2f0]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Enable the ".crnl" command on Windows builds of the CLI even if the SQLITE_U8TEXT_ONLY or SQLITE_U8TEST_STDIO compile-time options are used.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 6364a2f0449794b0c089ba9fbc099f5558b88ac91c459caf7fae3a43dfcd192e
User & Date: drh 2024-10-08 17:27:00
Context
2024-10-09
05:20
Add a few missing $(BEXE) suffixes on makefile targets which are apparently never run on platforms where that var is non-empty. (check-in: 1218a203 user: stephan tags: trunk)
2024-10-08
17:27
Enable the ".crnl" command on Windows builds of the CLI even if the SQLITE_U8TEXT_ONLY or SQLITE_U8TEST_STDIO compile-time options are used. (check-in: 6364a2f0 user: drh tags: trunk)
15:11
Additional improvements to the behavior of ".crnl" in the CLI. The default output mode is O_BINARY so that results are identical on Windows and non-Windows systems. On Windows you can optionally do ".crnl on" to enable NL-to-CRLF conversion on output. Output to Windows console is always O_U8TEXT and so is unaffected by the .crnl setting. (check-in: dbfc10b8 user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/shell.c.in.
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
#endif
  ".changes on|off          Show number of rows changed by SQL",
#ifndef SQLITE_SHELL_FIDDLE
  ".check GLOB              Fail if output since .testcase does not match",
  ".clone NEWDB             Clone data into NEWDB from the existing database",
#endif
  ".connection [close] [#]  Open or close an auxiliary database connection",
#if defined(_WIN32) && !defined(SQLITE_U8TEXT_ONLY) \
                    && !defined(SQLITE_U8TEXT_STDIO)
  ".crnl on|off             Translate \\n to \\r\\n.  Default ON",
#endif /* _WIN32 && U8TEXT_ONLY && U8TEXT_STDIO */
  ".databases               List names and files of attached databases",
  ".dbconfig ?op? ?val?     List or change sqlite3_db_config() options",
#if SQLITE_SHELL_HAVE_RECOVER
  ".dbinfo ?DB?             Show status information about the database",
#endif
  ".dump ?OBJECTS?          Render database content as SQL",
  "   Options:",







|
<

|







4948
4949
4950
4951
4952
4953
4954
4955

4956
4957
4958
4959
4960
4961
4962
4963
4964
#endif
  ".changes on|off          Show number of rows changed by SQL",
#ifndef SQLITE_SHELL_FIDDLE
  ".check GLOB              Fail if output since .testcase does not match",
  ".clone NEWDB             Clone data into NEWDB from the existing database",
#endif
  ".connection [close] [#]  Open or close an auxiliary database connection",
#if defined(_WIN32)

  ".crnl on|off             Translate \\n to \\r\\n.  Default ON",
#endif
  ".databases               List names and files of attached databases",
  ".dbconfig ?op? ?val?     List or change sqlite3_db_config() options",
#if SQLITE_SHELL_HAVE_RECOVER
  ".dbinfo ?DB?             Show status information about the database",
#endif
  ".dump ?OBJECTS?          Render database content as SQL",
  "   Options:",
8570
8571
8572
8573
8574
8575
8576
8577
8578
8579
8580
8581
8582
8583
8584
8585
    }else{
      eputz("Usage: .connection [close] [CONNECTION-NUMBER]\n");
      rc = 1;
    }
  }else

  if( c=='c' && n==4 && cli_strncmp(azArg[0], "crnl", n)==0 ){
#if !defined(_WIN32) || defined(SQLITE_U8TEXT_ONLY) \
                     || defined(SQLITE_U8TEXT_STDIO)
    sqlite3_fputs("The \".crnl\" command is disable in this build.\n", p->out);
#else
    if( nArg==2 ){
      p->crnlMode = booleanValue(azArg[1]);
      setCrnlMode(p);
    }else{
      eputz("Usage: .crnl on|off\n");







|
<







8569
8570
8571
8572
8573
8574
8575
8576

8577
8578
8579
8580
8581
8582
8583
    }else{
      eputz("Usage: .connection [close] [CONNECTION-NUMBER]\n");
      rc = 1;
    }
  }else

  if( c=='c' && n==4 && cli_strncmp(azArg[0], "crnl", n)==0 ){
#if !defined(_WIN32)

    sqlite3_fputs("The \".crnl\" command is disable in this build.\n", p->out);
#else
    if( nArg==2 ){
      p->crnlMode = booleanValue(azArg[1]);
      setCrnlMode(p);
    }else{
      eputz("Usage: .crnl on|off\n");