]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Form-feed is not valid whitespace for json.
authordrh <drh@noemail.net>
Fri, 16 Oct 2015 15:16:06 +0000 (15:16 +0000)
committerdrh <drh@noemail.net>
Fri, 16 Oct 2015 15:16:06 +0000 (15:16 +0000)
Fix for ticket [57eec374ae1d0a1d]

FossilOrigin-Name: 28957d635961c525f735a52b8ffe3e69ccf31382

ext/misc/json1.c
manifest
manifest.uuid
test/json101.test

index 337e4d3b0df89cbecd1d73dc8cddc3e4d3b6e9df..fa62237b89e5711e387b948f03794c1516488ff4 100644 (file)
@@ -52,7 +52,7 @@ SQLITE_EXTENSION_INIT1
 ** increase for the parser.  (Ubuntu14.10 gcc 4.8.4 x64 with -Os).
 */
 static const char jsonIsSpace[] = {
-  0, 0, 0, 0, 0, 0, 0, 0,     0, 1, 1, 0, 1, 1, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0,     0, 1, 1, 0, 0, 1, 0, 0,
   0, 0, 0, 0, 0, 0, 0, 0,     0, 0, 0, 0, 0, 0, 0, 0,
   1, 0, 0, 0, 0, 0, 0, 0,     0, 0, 0, 0, 0, 0, 0, 0,
   0, 0, 0, 0, 0, 0, 0, 0,     0, 0, 0, 0, 0, 0, 0, 0,
index 66b57bc4d938de0a4fff0d7f4e080e4fc828fa26..6614404fd30d62f67c49f79f8328a4ee1c37ebc4 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Have\sthe\ssqlite3VdbeSerialType()\sfunction\sgo\sahead\sand\scompute\sthe\sserial\nlength\sas\swell,\ssince\sit\sis\salways\sneeded.\s\sThis\savoids\sunnecessary\scalls\nto\ssqlite3VdbeSerialTypeLen().
-D 2015-10-16T14:54:17.927
+C Form-feed\sis\snot\svalid\swhitespace\sfor\sjson.\s\s\nFix\sfor\sticket\s[57eec374ae1d0a1d]
+D 2015-10-16T15:16:06.127
 F Makefile.in 2ea961bc09e441874eb3d1bf7398e04feb24f3ee
 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
 F Makefile.msc 8e42cb55739cd8c12e1fd25401956e2019448f6a
@@ -195,7 +195,7 @@ F ext/misc/eval.c f971962e92ebb8b0a4e6b62949463ee454d88fa2
 F ext/misc/fileio.c d4171c815d6543a9edef8308aab2951413cd8d0f
 F ext/misc/fuzzer.c 4c84635c71c26cfa7c2e5848cf49fe2d2cfcd767
 F ext/misc/ieee754.c b0362167289170627659e84173f5d2e8fee8566e
-F ext/misc/json1.c fed5b948168f26f39e67d898b03d93dd00e75196
+F ext/misc/json1.c d559a00d83766cffc6506ee34ceda24895f13605
 F ext/misc/nextchar.c 35c8b8baacb96d92abbb34a83a997b797075b342
 F ext/misc/percentile.c bcbee3c061b884eccb80e21651daaae8e1e43c63
 F ext/misc/regexp.c af92cdaa5058fcec1451e49becc7ba44dba023dc
@@ -815,7 +815,7 @@ F test/journal3.test ff8af941f9e06161d3db1b46bb9f965ff0e7f307
 F test/jrnlmode.test 7864d59cf7f6e552b9b99ba0f38acd167edc10fa
 F test/jrnlmode2.test 81610545a4e6ed239ea8fa661891893385e23a1d
 F test/jrnlmode3.test 556b447a05be0e0963f4311e95ab1632b11c9eaa
-F test/json101.test 83e6ebfb3cef6329853ab854403ec82b1787b537
+F test/json101.test f0178422b3a2418f423fd0d3caf3571c8d1b9863
 F test/json102.test bf3fe7a706d30936a76a0f7a0375e1e8e73aff5a
 F test/keyword1.test 37ef6bba5d2ed5b07ecdd6810571de2956599dff
 F test/lastinsert.test 42e948fd6442f07d60acbd15d33fb86473e0ef63
@@ -1391,7 +1391,7 @@ F tool/vdbe_profile.tcl 246d0da094856d72d2c12efec03250d71639d19f
 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
 F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P 3395724814099d28829ef6875ca1ba77d6fe7ffa
-R 767d7196e367cc10f7f9af30c014d525
+P 2ad72be12477b0e8e33e56a9a17e29abbd283ec1
+R 62f0d8008c01d0defc2c9b4656e1c898
 U drh
-Z 020679225d045a894f4da1312f5e1b2a
+Z d6a4952373fb13844f78e8a8e4575f90
index 0f716e2e0ccfe7a640438d8477cc54d517482cdf..bf0fd4ab3a585812fc714ff2795104baf960d239 100644 (file)
@@ -1 +1 @@
-2ad72be12477b0e8e33e56a9a17e29abbd283ec1
\ No newline at end of file
+28957d635961c525f735a52b8ffe3e69ccf31382
\ No newline at end of file
index e11cdd01383a88d9b658cbf027968c9f14fe3caa..8c62c8b16c6410eed41dd24ae901230b1c3e7f8f 100644 (file)
@@ -324,5 +324,22 @@ do_execsql_test json-6.4 {
   SELECT json_valid('["a",55,"b",72]');
 } {1}
 
+# White-space tests.  Note that form-feed is not white-space in JSON.
+# ticket [57eec374ae1d0a1d4a23077a95f4e173fe269113]
+# 
+foreach {tn isvalid ws} {
+  7.1  1  char(0x20)
+  7.2  1  char(0x09)
+  7.3  1  char(0x0A)
+  7.4  1  char(0x0D)
+  7.5  0  char(0x0C)
+  7.6  1  char(0x20,0x09,0x0a,0x0d,0x20)
+  7.7  0  char(0x20,0x09,0x0a,0x0c,0x0d,0x20)
+} {
+  do_execsql_test json-$tn.1 \
+    "SELECT json_valid(printf('%s{%s\"x\"%s:%s9%s}%s',
+         $::ws,$::ws,$::ws,$::ws,$::ws,$::ws));" \
+  $isvalid
+}
 
 finish_test