diff options
-rw-r--r-- | ext/json/ext/generator/extconf.rb | 8 | ||||
-rw-r--r-- | ext/json/ext/generator/generator.c | 3 |
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; } |