summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/json/ext/generator/extconf.rb8
-rw-r--r--ext/json/ext/generator/generator.c3
2 files changed, 8 insertions, 3 deletions
diff --git a/ext/json/ext/generator/extconf.rb b/ext/json/ext/generator/extconf.rb
index b0eab0d..149f22c 100644
--- a/ext/json/ext/generator/extconf.rb
+++ b/ext/json/ext/generator/extconf.rb
@@ -11,6 +11,10 @@ if CONFIG['CC'] =~ /gcc/
#end
end
-have_header("ruby/re.h") || have_header("re.h")
-have_header("ruby/encoding.h")
+if RUBY_VERSION < "1.9"
+ have_header("re.h")
+else
+ have_header("ruby/re.h")
+ have_header("ruby/encoding.h")
+end
create_makefile 'json/ext/generator'
diff --git a/ext/json/ext/generator/generator.c b/ext/json/ext/generator/generator.c
index 3f5bb05..761274b 100644
--- a/ext/json/ext/generator/generator.c
+++ b/ext/json/ext/generator/generator.c
@@ -340,7 +340,7 @@ static void fbuffer_inc_capa(FBuffer *fb, unsigned int requested)
for (required = fb->capa; requested > required - fb->len; required <<= 1);
if (required > fb->capa) {
- fb->ptr = (char *) REALLOC_N((long*) fb->ptr, char, required);
+ REALLOC_N(fb->ptr, char, required);
fb->capa = required;
}
}
@@ -794,6 +794,7 @@ static void State_free(JSON_Generator_State *state)
static JSON_Generator_State *State_allocate()
{
JSON_Generator_State *state = ALLOC(JSON_Generator_State);
+ MEMZERO(state, JSON_Generator_State, 1);
return state;
}