Fix json_quote_str to handle non-ASCII characters
authorGregor Hoffleit <gregor@hoffleit.de>
Thu, 4 Mar 2010 10:40:03 +0000 (11:40 +0100)
committerCarl Worth <cworth@cworth.org>
Tue, 13 Apr 2010 15:30:40 +0000 (08:30 -0700)
commit4a442846926f7e3d1b30b7afac59dd1def0e5a41
tree0c8f6a365bdfd342355ee85567bf914e91568cea
parent22d117d14497ddea11014cab2f25d1be57210de2
Fix json_quote_str to handle non-ASCII characters

The current code in json_quote_str() only accepts strict printable ASCII
code points (i.e. 32-127), all other code points are dropped from the
JSON output. The code is attempting to drop only non-printable ASCII
characters, but doing a signed comparison of the byte value is also
dropping characters with values >= 128.

This patch uses an unsigned comparison to accept code points 32-255.

Reviewed-by: Carl Worth <cworth@cworth.org> (with some additional
details for commit message).
json.c