summaryrefslogtreecommitdiff
path: root/ext/psych/psych_emitter.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/psych/psych_emitter.c')
-rw-r--r--ext/psych/psych_emitter.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/ext/psych/psych_emitter.c b/ext/psych/psych_emitter.c
index 4ba238102b..feffc54ce7 100644
--- a/ext/psych/psych_emitter.c
+++ b/ext/psych/psych_emitter.c
@@ -50,14 +50,13 @@ static const rb_data_type_t psych_emitter_type = {
static VALUE allocate(VALUE klass)
{
yaml_emitter_t * emitter;
-
- emitter = xmalloc(sizeof(yaml_emitter_t));
+ VALUE obj = TypedData_Make_Struct(klass, yaml_emitter_t, &psych_emitter_type, emitter);
yaml_emitter_initialize(emitter);
yaml_emitter_set_unicode(emitter, 1);
yaml_emitter_set_indent(emitter, 2);
- return TypedData_Wrap_Struct(klass, &psych_emitter_type, emitter);
+ return obj;
}
/* call-seq: Psych::Emitter.new(io, options = Psych::Emitter::OPTIONS)