summaryrefslogtreecommitdiff
path: root/ext/-test-/string/new.c
blob: 60625b830007a7c408feaa04e04d0dd5f76c78b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "ruby.h"
#include "ruby/encoding.h"

static VALUE
bug_str_buf_new(VALUE self, VALUE len)
{
    return rb_str_buf_new(NUM2LONG(len));
}

static VALUE
bug_external_str_new(VALUE self, VALUE len, VALUE enc)
{
    return rb_external_str_new_with_enc(NULL, NUM2LONG(len), rb_to_encoding(enc));
}

void
Init_string_new(VALUE klass)
{
    rb_define_singleton_method(klass, "buf_new", bug_str_buf_new, 1);
    rb_define_singleton_method(klass, "external_new", bug_external_str_new, 2);
}