]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Further improvements to the ".mode json" output in the CLI.
authordrh <>
Thu, 7 Nov 2024 12:03:53 +0000 (12:03 +0000)
committerdrh <>
Thu, 7 Nov 2024 12:03:53 +0000 (12:03 +0000)
FossilOrigin-Name: 6201b5707f8c895028f9c08cb4f83d33a16a91bf04ed3830ac51aa763d6b7205

manifest
manifest.uuid
src/shell.c.in

index b244713acb463ae7d373d579851d41ef8072f2b6..d5cc26c78e286f4b6253dd8d391dcd3758b48bf5 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Autosetup\sdoc\stouchups.
-D 2024-11-07T10:07:20.454
+C Further\simprovements\sto\sthe\s".mode\sjson"\soutput\sin\sthe\sCLI.
+D 2024-11-07T12:03:53.321
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md e108e1e69ae8e8a59e93c455654b8ac9356a11720d3345df2a4743e9590fb20d
@@ -779,7 +779,7 @@ F src/random.c 606b00941a1d7dd09c381d3279a058d771f406c5213c9932bbd93d5587be4b9c
 F src/resolve.c c8a5372b97b2a2e972a280676f06ddb5b74e885d3b1f5ce383f839907b57ef68
 F src/rowset.c 8432130e6c344b3401a8874c3cb49fefe6873fec593294de077afea2dce5ec97
 F src/select.c 4b14337a2742f0c0beeba490e9a05507e9b4b12184b9cd12773501d08d48e3fe
-F src/shell.c.in bb8ca98e903ea1dc60cee7e0a82017879662a2e4ce1f43889da87e8d4d774a5d
+F src/shell.c.in bb97e0afcc4a73b73f38cc868330854a2df109095a7a10182ddfdd261fbec312
 F src/sqlite.h.in 599203aa6cf3a662f879e7581f4b7f2678738c0b7c71ddda3c0cb5c59867c399
 F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
 F src/sqlite3ext.h 3f046c04ea3595d6bfda99b781926b17e672fd6d27da2ba6d8d8fc39981dcb54
@@ -2200,8 +2200,8 @@ F tool/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd7227350
 F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
 F tool/warnings.sh 49a486c5069de041aedcbde4de178293e0463ae9918ecad7539eedf0ec77a139
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P 4455718e485a31100ce3eb4ac5aeb7437c667d7994c6d2abfb38ad8bd1976d6e
-R d0d397e19e3c3c321a06f160c598ae0c
-U stephan
-Z 58542c19f6b9c96b806ce35d9c28577d
+P 574515290058ddfaf39a4221fa0f7a99222c4b040dd455348550816b18492c20
+R d6d415bcc0f47f8fdfd469ff669d9a21
+U drh
+Z 19d583f7d9e9d1ca3ecd4ff7c1dcf90f
 # Remove this line to create a well-formed Fossil manifest.
index 14936706738dbe99a6c2b332af170f1ed4bac14e..5d85b4470ed0ea36594e1c57cf1c5e64f2535abc 100644 (file)
@@ -1 +1 @@
-574515290058ddfaf39a4221fa0f7a99222c4b040dd455348550816b18492c20
+6201b5707f8c895028f9c08cb4f83d33a16a91bf04ed3830ac51aa763d6b7205
index 180768b7fbd2c0cccc05ea266207c365baa4da5b..874f448f678751f8aee769d33c6956723ee0fc2d 100644 (file)
@@ -2109,7 +2109,7 @@ static void output_c_string(FILE *out, const char *z){
 ** Output the given string as quoted according to JSON quoting rules.
 */
 static void output_json_string(FILE *out, const char *z, i64 n){
-  char c;
+  unsigned char c;
   static const char *zq = "\"";
   static long ctrlMask = ~0L;
   static const char *zDQBS = "\"\\";
@@ -2129,7 +2129,7 @@ static void output_json_string(FILE *out, const char *z, i64 n){
       z = pcEnd;
     }
     if( z >= pcLimit ) break;
-    c = *(z++);
+    c = (unsigned char)*(z++);
     switch( c ){
     case '"': case '\\':
       cbsSay = (char)c;
@@ -2144,7 +2144,7 @@ static void output_json_string(FILE *out, const char *z, i64 n){
     if( cbsSay ){
       ace[1] = cbsSay;
       sqlite3_fputs(ace, out);
-    }else if( c<=0x1f || c==0x7f ){
+    }else if( c<=0x1f || c>=0x7f ){
       sqlite3_fprintf(out, "\\u%04x", c);
     }else{
       ace[1] = (char)c;