From d29ff247936236673cf117cff558f55c787750a8 Mon Sep 17 00:00:00 2001 From: nobu Date: Sat, 27 Dec 2014 11:12:58 +0000 Subject: json: backward compatibilities * ext/json/generator/generator.c (JSON_Generator_State_type): add #ifdef for backward compatibility. * ext/json/parser/parser.rl (JSON_Parser_type): ditto. * ext/json/generator/generator.h (ZALLOC): add fallback definition. * ext/json/parser/parser.h (ZALLOC): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49038 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/json/generator/generator.c | 2 ++ ext/json/generator/generator.h | 10 ++++++++++ 2 files changed, 12 insertions(+) (limited to 'ext/json/generator') diff --git a/ext/json/generator/generator.c b/ext/json/generator/generator.c index f56ac09cd2..673da3320c 100644 --- a/ext/json/generator/generator.c +++ b/ext/json/generator/generator.c @@ -518,8 +518,10 @@ static size_t State_memsize(const void *ptr) static const rb_data_type_t JSON_Generator_State_type = { "JSON/Generator/State", {NULL, State_free, State_memsize,}, +#ifdef RUBY_TYPED_FREE_IMMEDIATELY 0, 0, RUBY_TYPED_FREE_IMMEDIATELY, +#endif }; static JSON_Generator_State *State_allocate(void) diff --git a/ext/json/generator/generator.h b/ext/json/generator/generator.h index ddd1aa8a30..9277682603 100644 --- a/ext/json/generator/generator.h +++ b/ext/json/generator/generator.h @@ -149,4 +149,14 @@ static VALUE cState_depth_set(VALUE self, VALUE depth); static FBuffer *cState_prepare_buffer(VALUE self); static const rb_data_type_t JSON_Generator_State_type; +#ifndef ZALLOC +#define ZALLOC(type) ((type *)ruby_zalloc(sizeof(type))) +static inline void *ruby_zalloc(size_t n) +{ + void *p = ruby_xmalloc(n); + memset(p, 0, n); + return p; +} +#endif + #endif -- cgit v1.2.3