diff options
Diffstat (limited to 'parse.y')
-rw-r--r-- | parse.y | 24 |
1 files changed, 7 insertions, 17 deletions
@@ -10659,22 +10659,14 @@ rb_reserved_word(const char *str, unsigned int len) return reserved_word(str, len); } -static struct parser_params * -parser_new(void) -{ - struct parser_params *p; - - p = ZALLOC(struct parser_params); - parser_initialize(p); - return p; -} - VALUE rb_parser_new(void) { - struct parser_params *p = parser_new(); - - return TypedData_Wrap_Struct(0, &parser_data_type, p); + struct parser_params *p; + VALUE parser = TypedData_Make_Struct(0, struct parser_params, + &parser_data_type, p); + parser_initialize(p); + return parser; } #endif @@ -11124,10 +11116,8 @@ static VALUE ripper_s_allocate(VALUE klass) { struct parser_params *p; - VALUE self; - - p = ZALLOC(struct parser_params); - self = TypedData_Wrap_Struct(klass, &parser_data_type, p); + VALUE self = TypedData_Make_Struct(klass, struct parser_params, + &parser_data_type, p); p->value = self; return self; } |