summaryrefslogtreecommitdiff
path: root/ext/json/ext/parser/unicode.c
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-09-20 17:54:46 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-09-20 17:54:46 +0000
commit55f9cc806df9d9f58917992e35e9c0ecf20e455e (patch)
treeaa6aef3384b506d3ff5de53208c4b2a8840574df /ext/json/ext/parser/unicode.c
parente8eb95ec33334f40f3f3bbcbf16404aee07dfa8e (diff)
* ext/json/ext/parser/parse.c: use ruby_xfree().
* ext/json/ext/parser/parse.rl: ditto. * ext/json/ext/parser/unicode.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19437 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/json/ext/parser/unicode.c')
-rw-r--r--ext/json/ext/parser/unicode.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/ext/json/ext/parser/unicode.c b/ext/json/ext/parser/unicode.c
index a16ff262d9..b2f1e58676 100644
--- a/ext/json/ext/parser/unicode.c
+++ b/ext/json/ext/parser/unicode.c
@@ -103,12 +103,12 @@ char *JSON_convert_UTF16_to_UTF8 (
+ (ch2 - UNI_SUR_LOW_START) + halfBase;
++tmpPtr;
} else if (flags == strictConversion) { /* it's an unpaired high surrogate */
- free(tmp);
+ ruby_xfree(tmp);
rb_raise(rb_path2class("JSON::ParserError"),
"source sequence is illegal/malformed near %s", source);
}
} else { /* We don't have the 16 bits following the high surrogate. */
- free(tmp);
+ ruby_xfree(tmp);
rb_raise(rb_path2class("JSON::ParserError"),
"partial character in source, but hit end near %s", source);
break;
@@ -116,7 +116,7 @@ char *JSON_convert_UTF16_to_UTF8 (
} else if (flags == strictConversion) {
/* UTF-16 surrogate values are illegal in UTF-32 */
if (ch >= UNI_SUR_LOW_START && ch <= UNI_SUR_LOW_END) {
- free(tmp);
+ ruby_xfree(tmp);
rb_raise(rb_path2class("JSON::ParserError"),
"source sequence is illegal/malformed near %s", source);
}
@@ -148,7 +148,7 @@ char *JSON_convert_UTF16_to_UTF8 (
}
rb_str_buf_cat(buffer, p, bytesToWrite);
}
- free(tmp);
+ ruby_xfree(tmp);
source += 5 + (n - 1) * 6;
return source;
}