ruby-changes:36969
From: nobu <ko1@a...>
Date: Mon, 29 Dec 2014 02:03:43 +0900 (JST)
Subject: [ruby-changes:36969] nobu:r49050 (trunk): ext/json: for ancient backward compatibilities
nobu 2014-12-29 02:03:36 +0900 (Mon, 29 Dec 2014) New Revision: 49050 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=49050 Log: ext/json: for ancient backward compatibilities Modified files: trunk/ext/json/generator/generator.c trunk/ext/json/generator/generator.h trunk/ext/json/parser/parser.c trunk/ext/json/parser/parser.h trunk/ext/json/parser/parser.rl Index: ext/json/generator/generator.c =================================================================== --- ext/json/generator/generator.c (revision 49049) +++ ext/json/generator/generator.c (revision 49050) @@ -515,6 +515,7 @@ static size_t State_memsize(const void * https://github.com/ruby/ruby/blob/trunk/ext/json/generator/generator.c#L515 return size; } +#ifdef HAVE_TYPE_RB_DATA_TYPE_T static const rb_data_type_t JSON_Generator_State_type = { "JSON/Generator/State", {NULL, State_free, State_memsize,}, @@ -523,6 +524,7 @@ static const rb_data_type_t JSON_Generat https://github.com/ruby/ruby/blob/trunk/ext/json/generator/generator.c#L524 RUBY_TYPED_FREE_IMMEDIATELY, #endif }; +#endif static JSON_Generator_State *State_allocate(void) { @@ -533,7 +535,11 @@ static JSON_Generator_State *State_alloc https://github.com/ruby/ruby/blob/trunk/ext/json/generator/generator.c#L535 static VALUE cState_s_allocate(VALUE klass) { JSON_Generator_State *state = State_allocate(); +#ifdef HAVE_TYPE_RB_DATA_TYPE_T return TypedData_Wrap_Struct(klass, &JSON_Generator_State_type, state); +#else + return Data_Wrap_Struct(klass, NULL, State_free, state); +#endif } /* Index: ext/json/generator/generator.h =================================================================== --- ext/json/generator/generator.h (revision 49049) +++ ext/json/generator/generator.h (revision 49050) @@ -78,8 +78,13 @@ typedef struct JSON_Generator_StateStruc https://github.com/ruby/ruby/blob/trunk/ext/json/generator/generator.h#L78 long buffer_initial_length; } JSON_Generator_State; +#ifdef HAVE_TYPE_RB_DATA_TYPE_T #define GET_STATE_TO(self, state) \ TypedData_Get_Struct(self, JSON_Generator_State, &JSON_Generator_State_type, state) +#else +#define GET_STATE_TO(self, state) \ + Data_Get_Struct(self, JSON_Generator_State, state) +#endif #define GET_STATE(self) \ JSON_Generator_State *state; \ @@ -147,7 +152,9 @@ static VALUE cState_ascii_only_p(VALUE s https://github.com/ruby/ruby/blob/trunk/ext/json/generator/generator.h#L152 static VALUE cState_depth(VALUE self); static VALUE cState_depth_set(VALUE self, VALUE depth); static FBuffer *cState_prepare_buffer(VALUE self); +#ifdef HAVE_TYPE_RB_DATA_TYPE_T static const rb_data_type_t JSON_Generator_State_type; +#endif #ifndef ZALLOC #define ZALLOC(type) ((type *)ruby_zalloc(sizeof(type))) Index: ext/json/parser/parser.h =================================================================== --- ext/json/parser/parser.h (revision 49049) +++ ext/json/parser/parser.h (revision 49050) @@ -49,9 +49,15 @@ typedef struct JSON_ParserStruct { https://github.com/ruby/ruby/blob/trunk/ext/json/parser/parser.h#L49 #define GET_PARSER \ GET_PARSER_INIT; \ if (!json->Vsource) rb_raise(rb_eTypeError, "uninitialized instance") +#ifdef HAVE_TYPE_RB_DATA_TYPE_T #define GET_PARSER_INIT \ JSON_Parser *json; \ TypedData_Get_Struct(self, JSON_Parser, &JSON_Parser_type, json) +#else +#define GET_PARSER_INIT \ + JSON_Parser *json; \ + Data_Get_Struct(self, JSON_Parser, json) +#endif #define MinusInfinity "-Infinity" #define EVIL 0x666 @@ -73,7 +79,9 @@ static void JSON_mark(void *json); https://github.com/ruby/ruby/blob/trunk/ext/json/parser/parser.h#L79 static void JSON_free(void *json); static VALUE cJSON_parser_s_allocate(VALUE klass); static VALUE cParser_source(VALUE self); +#ifdef HAVE_TYPE_RB_DATA_TYPE_T static const rb_data_type_t JSON_Parser_type; +#endif #ifndef ZALLOC #define ZALLOC(type) ((type *)ruby_zalloc(sizeof(type))) Index: ext/json/parser/parser.rl =================================================================== --- ext/json/parser/parser.rl (revision 49049) +++ ext/json/parser/parser.rl (revision 49050) @@ -845,6 +845,7 @@ static size_t JSON_memsize(const void *p https://github.com/ruby/ruby/blob/trunk/ext/json/parser/parser.rl#L845 return sizeof(*json) + FBUFFER_CAPA(json->fbuffer); } +#ifdef HAVE_TYPE_RB_DATA_TYPE_T static const rb_data_type_t JSON_Parser_type = { "JSON/Parser", {JSON_mark, JSON_free, JSON_memsize,}, @@ -853,11 +854,16 @@ static const rb_data_type_t JSON_Parser_ https://github.com/ruby/ruby/blob/trunk/ext/json/parser/parser.rl#L854 RUBY_TYPED_FREE_IMMEDIATELY, #endif }; +#endif static VALUE cJSON_parser_s_allocate(VALUE klass) { JSON_Parser *json = JSON_allocate(); +#ifdef HAVE_TYPE_RB_DATA_TYPE_T return TypedData_Wrap_Struct(klass, &JSON_Parser_type, json); +#else + return Data_Wrap_Struct(klass, JSON_mark, JSON_free, json); +#endif } /* Index: ext/json/parser/parser.c =================================================================== --- ext/json/parser/parser.c (revision 49049) +++ ext/json/parser/parser.c (revision 49050) @@ -2122,6 +2122,7 @@ static size_t JSON_memsize(const void *p https://github.com/ruby/ruby/blob/trunk/ext/json/parser/parser.c#L2122 return sizeof(*json) + FBUFFER_CAPA(json->fbuffer); } +#ifdef HAVE_TYPE_RB_DATA_TYPE_T static const rb_data_type_t JSON_Parser_type = { "JSON/Parser", {JSON_mark, JSON_free, JSON_memsize,}, @@ -2130,11 +2131,16 @@ static const rb_data_type_t JSON_Parser_ https://github.com/ruby/ruby/blob/trunk/ext/json/parser/parser.c#L2131 RUBY_TYPED_FREE_IMMEDIATELY, #endif }; +#endif static VALUE cJSON_parser_s_allocate(VALUE klass) { JSON_Parser *json = JSON_allocate(); +#ifdef HAVE_TYPE_RB_DATA_TYPE_T return TypedData_Wrap_Struct(klass, &JSON_Parser_type, json); +#else + return Data_Wrap_Struct(klass, JSON_mark, JSON_free, json); +#endif } /* -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/