From b754ad0d0b313fa478e427fa99e014c3357db0d3 Mon Sep 17 00:00:00 2001 From: Jack Nagel Date: Mon, 10 Feb 2014 13:17:16 -0500 Subject: [PATCH] Update vendored OkJson --- Library/Homebrew/vendor/okjson.rb | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Library/Homebrew/vendor/okjson.rb b/Library/Homebrew/vendor/okjson.rb index f4a4d215ac..bbec99e8da 100644 --- a/Library/Homebrew/vendor/okjson.rb +++ b/Library/Homebrew/vendor/okjson.rb @@ -29,7 +29,7 @@ require 'stringio' # http://golang.org/src/pkg/utf8/utf8.go module Vendor module OkJson - Upstream = '42' + Upstream = '43' extend self @@ -462,11 +462,16 @@ module Vendor # In ruby >= 1.9, s[r] is a codepoint, not a byte. if rubydoesenc? begin - c.ord # will raise an error if c is invalid UTF-8 + # c.ord will raise an error if c is invalid UTF-8 + if c.ord < Spc.ord + c = "\\u%04x" % [c.ord] + end t.write(c) rescue t.write(Ustrerr) end + elsif c < Spc + t.write("\\u%04x" % c) elsif Spc <= c && c <= ?~ t.putc(c) else