aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean Boussier <jean.boussier@gmail.com>2024-05-31 09:59:09 +0200
committerHiroshi SHIBATA <hsbt@ruby-lang.org>2024-06-04 12:23:48 +0900
commitc5ae432ec8fd1aecde5bec90cc2b4769822c9597 (patch)
treeabfb1bf781f6460cf04376b346921e7961ac9e3e
parent255ca83fb8d17e7581066abc7f040e6e22bb5f2b (diff)
downloadruby-c5ae432ec8fd1aecde5bec90cc2b4769822c9597.tar.gz
[flori/json] Cleanup useless ifdef
The json gem now requires Ruby 2.3, so there is no point keeping compatibility code for older releases that don't have the TypedData API. https://github.com/flori/json/commit/45c86e153f
-rw-r--r--ext/json/generator/generator.c6
-rw-r--r--ext/json/generator/generator.h7
-rw-r--r--ext/json/parser/parser.c16
-rw-r--r--ext/json/parser/parser.h7
-rw-r--r--ext/json/parser/parser.rl16
5 files changed, 15 insertions, 37 deletions
diff --git a/ext/json/generator/generator.c b/ext/json/generator/generator.c
index 6d78284bc4..e968619205 100644
--- a/ext/json/generator/generator.c
+++ b/ext/json/generator/generator.c
@@ -636,16 +636,12 @@ static size_t State_memsize(const void *ptr)
# define RUBY_TYPED_FROZEN_SHAREABLE 0
#endif
-#ifdef NEW_TYPEDDATA_WRAPPER
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 | RUBY_TYPED_FROZEN_SHAREABLE,
-#endif
+ RUBY_TYPED_WB_PROTECTED | RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_FROZEN_SHAREABLE,
};
-#endif
static VALUE cState_s_allocate(VALUE klass)
{
diff --git a/ext/json/generator/generator.h b/ext/json/generator/generator.h
index 1a736b84dd..98b7d833f3 100644
--- a/ext/json/generator/generator.h
+++ b/ext/json/generator/generator.h
@@ -166,12 +166,7 @@ static inline void *ruby_zalloc(size_t n)
return p;
}
#endif
-#ifdef TypedData_Make_Struct
+
static const rb_data_type_t JSON_Generator_State_type;
-#define NEW_TYPEDDATA_WRAPPER 1
-#else
-#define TypedData_Make_Struct(klass, type, ignore, json) Data_Make_Struct(klass, type, NULL, State_free, json)
-#define TypedData_Get_Struct(self, JSON_Generator_State, ignore, json) Data_Get_Struct(self, JSON_Generator_State, json)
-#endif
#endif
diff --git a/ext/json/parser/parser.c b/ext/json/parser/parser.c
index 57f87432b6..7e44d469f8 100644
--- a/ext/json/parser/parser.c
+++ b/ext/json/parser/parser.c
@@ -2097,12 +2097,12 @@ case 9:
static void JSON_mark(void *ptr)
{
JSON_Parser *json = ptr;
- rb_gc_mark_maybe(json->Vsource);
- rb_gc_mark_maybe(json->create_id);
- rb_gc_mark_maybe(json->object_class);
- rb_gc_mark_maybe(json->array_class);
- rb_gc_mark_maybe(json->decimal_class);
- rb_gc_mark_maybe(json->match_string);
+ rb_gc_mark(json->Vsource);
+ rb_gc_mark(json->create_id);
+ rb_gc_mark(json->object_class);
+ rb_gc_mark(json->array_class);
+ rb_gc_mark(json->decimal_class);
+ rb_gc_mark(json->match_string);
}
static void JSON_free(void *ptr)
@@ -2118,16 +2118,12 @@ static size_t JSON_memsize(const void *ptr)
return sizeof(*json) + FBUFFER_CAPA(json->fbuffer);
}
-#ifdef NEW_TYPEDDATA_WRAPPER
static const rb_data_type_t JSON_Parser_type = {
"JSON/Parser",
{JSON_mark, JSON_free, JSON_memsize,},
-#ifdef RUBY_TYPED_FREE_IMMEDIATELY
0, 0,
RUBY_TYPED_FREE_IMMEDIATELY,
-#endif
};
-#endif
static VALUE cJSON_parser_s_allocate(VALUE klass)
{
diff --git a/ext/json/parser/parser.h b/ext/json/parser/parser.h
index 92ed3fdc5d..651d40c074 100644
--- a/ext/json/parser/parser.h
+++ b/ext/json/parser/parser.h
@@ -85,12 +85,7 @@ static inline void *ruby_zalloc(size_t n)
return p;
}
#endif
-#ifdef TypedData_Make_Struct
+
static const rb_data_type_t JSON_Parser_type;
-#define NEW_TYPEDDATA_WRAPPER 1
-#else
-#define TypedData_Make_Struct(klass, type, ignore, json) Data_Make_Struct(klass, type, NULL, JSON_free, json)
-#define TypedData_Get_Struct(self, JSON_Parser, ignore, json) Data_Get_Struct(self, JSON_Parser, json)
-#endif
#endif
diff --git a/ext/json/parser/parser.rl b/ext/json/parser/parser.rl
index af190e7500..e2522918dc 100644
--- a/ext/json/parser/parser.rl
+++ b/ext/json/parser/parser.rl
@@ -857,12 +857,12 @@ static VALUE cParser_parse(VALUE self)
static void JSON_mark(void *ptr)
{
JSON_Parser *json = ptr;
- rb_gc_mark_maybe(json->Vsource);
- rb_gc_mark_maybe(json->create_id);
- rb_gc_mark_maybe(json->object_class);
- rb_gc_mark_maybe(json->array_class);
- rb_gc_mark_maybe(json->decimal_class);
- rb_gc_mark_maybe(json->match_string);
+ rb_gc_mark(json->Vsource);
+ rb_gc_mark(json->create_id);
+ rb_gc_mark(json->object_class);
+ rb_gc_mark(json->array_class);
+ rb_gc_mark(json->decimal_class);
+ rb_gc_mark(json->match_string);
}
static void JSON_free(void *ptr)
@@ -878,16 +878,12 @@ static size_t JSON_memsize(const void *ptr)
return sizeof(*json) + FBUFFER_CAPA(json->fbuffer);
}
-#ifdef NEW_TYPEDDATA_WRAPPER
static const rb_data_type_t JSON_Parser_type = {
"JSON/Parser",
{JSON_mark, JSON_free, JSON_memsize,},
-#ifdef RUBY_TYPED_FREE_IMMEDIATELY
0, 0,
RUBY_TYPED_FREE_IMMEDIATELY,
-#endif
};
-#endif
static VALUE cJSON_parser_s_allocate(VALUE klass)
{