json: escape u0000 .. u001F when outputting json
commitff06ea219763559bec2aab26dde1cec8608405e9
authorAnthony Liguori <aliguori@us.ibm.com>
Mon, 25 Jan 2010 14:56:53 +0000 (25 08:56 -0600)
committerAnthony Liguori <aliguori@us.ibm.com>
Tue, 26 Jan 2010 20:54:59 +0000 (26 14:54 -0600)
tree47721d5fd7ddf3a4018eac3f495f2cef93400379
parent6908d9ce4c26a8bc00e3616bc0764bbb292d6bfd
json: escape u0000 .. u001F when outputting json

Markus Armbruster pointed out:

JSON requires control characters in strings to be escaped.  RFC 4627
section 2.5:

   A string begins and ends with quotation marks.  All Unicode
   characters may be placed within the quotation marks except for the
   characters that must be escaped: quotation mark, reverse solidus, and
   the control characters (U+0000 through U+001F).

We've been quoting the special escape sequences that JSON defines but we
haven't been encoding the full control character range.  This patch fixes that.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
qjson.c