summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
Diffstat (limited to 'ext')
-rw-r--r--ext/bigdecimal/bigdecimal.c2
-rw-r--r--ext/dbm/dbm.c2
-rw-r--r--ext/enumerator/enumerator.c3
-rw-r--r--ext/socket/socket.c16
-rw-r--r--ext/win32ole/win32ole.c6
-rw-r--r--ext/zlib/zlib.c3
6 files changed, 14 insertions, 18 deletions
diff --git a/ext/bigdecimal/bigdecimal.c b/ext/bigdecimal/bigdecimal.c
index 402e13cc5c..4ccba8809a 100644
--- a/ext/bigdecimal/bigdecimal.c
+++ b/ext/bigdecimal/bigdecimal.c
@@ -579,7 +579,7 @@ BigDecimal_ge(VALUE self, VALUE r)
}
static VALUE
-BigDecimal_neg(VALUE self, VALUE r)
+BigDecimal_neg(VALUE self)
{
ENTER(5);
Real *c, *a;
diff --git a/ext/dbm/dbm.c b/ext/dbm/dbm.c
index 99144aa43b..e72d8ebba0 100644
--- a/ext/dbm/dbm.c
+++ b/ext/dbm/dbm.c
@@ -734,7 +734,7 @@ Init_dbm()
rb_define_method(rb_cDBM, "[]=", fdbm_store, 2);
rb_define_method(rb_cDBM, "store", fdbm_store, 2);
rb_define_method(rb_cDBM, "index", fdbm_index, 1);
- rb_define_method(rb_cDBM, "select", fdbm_select, -1);
+ rb_define_method(rb_cDBM, "select", fdbm_select, 0);
rb_define_method(rb_cDBM, "values_at", fdbm_values_at, -1);
rb_define_method(rb_cDBM, "length", fdbm_length, 0);
rb_define_method(rb_cDBM, "size", fdbm_length, 0);
diff --git a/ext/enumerator/enumerator.c b/ext/enumerator/enumerator.c
index 8c3c566178..6e47330cef 100644
--- a/ext/enumerator/enumerator.c
+++ b/ext/enumerator/enumerator.c
@@ -70,7 +70,6 @@ enum_each_slice(obj, n)
ary = memo->u1.value;
if (RARRAY(ary)->len > 0) rb_yield(ary);
- rb_gc_force_recycle((VALUE)memo);
return Qnil;
}
@@ -114,7 +113,6 @@ enum_each_cons(obj, n)
rb_iterate(rb_each, obj, each_cons_i, (VALUE)memo);
- rb_gc_force_recycle((VALUE)memo);
return Qnil;
}
@@ -163,7 +161,6 @@ enumerator_each(obj)
rb_to_id(rb_ivar_get(obj, id_enum_method)),
rb_ivar_get(obj, id_enum_args));
val = rb_iterate((VALUE (*)_((VALUE)))enumerator_iter, obj, rb_yield, 0);
- rb_gc_force_recycle(obj);
return val;
}
diff --git a/ext/socket/socket.c b/ext/socket/socket.c
index 979eaa0af3..044d411b29 100644
--- a/ext/socket/socket.c
+++ b/ext/socket/socket.c
@@ -2217,27 +2217,25 @@ sock_s_getservbyaname(argc, argv)
int argc;
VALUE *argv;
{
- VALUE service, protocol;
- char *proto;
+ VALUE service, proto;
struct servent *sp;
int port;
- rb_scan_args(argc, argv, "11", &service, &protocol);
- if (NIL_P(protocol)) proto = "tcp";
- else proto = StringValuePtr(protocol);
+ rb_scan_args(argc, argv, "11", &service, &proto);
+ if (NIL_P(proto)) proto = rb_str_new2("tcp");
+ else StringValue(proto);
- StringValue(service);
- sp = getservbyname((char*)RSTRING(service)->ptr, proto);
+ sp = getservbyname((char*)RSTRING(service)->ptr, RSTRING(proto)->ptr);
if (sp) {
port = ntohs(sp->s_port);
}
else {
- char *s = RSTRING(service)->ptr;
+ char *s = StringValuePtr(service);
char *end;
port = strtoul(s, &end, 0);
if (*end != '\0') {
- rb_raise(rb_eSocket, "no such service %s/%s", s, proto);
+ rb_raise(rb_eSocket, "no such service %s/%s", s, RSTRING(proto)->ptr);
}
}
return INT2FIX(port);
diff --git a/ext/win32ole/win32ole.c b/ext/win32ole/win32ole.c
index 60c2027690..66a00ddee7 100644
--- a/ext/win32ole/win32ole.c
+++ b/ext/win32ole/win32ole.c
@@ -2758,7 +2758,7 @@ static VALUE
fole_get_methods( self )
VALUE self;
{
- return ole_methods( self, INVOKE_PROPERTYGET);
+ return ole_methods(self, INVOKE_PROPERTYGET);
}
/*
@@ -2770,7 +2770,7 @@ static VALUE
fole_put_methods( self )
VALUE self;
{
- return ole_methods( self, INVOKE_PROPERTYPUT);
+ return ole_methods(self, INVOKE_PROPERTYPUT);
}
/*
@@ -2782,7 +2782,7 @@ static VALUE
fole_func_methods( self )
VALUE self;
{
- return ole_methods( self, INVOKE_FUNC);
+ return ole_methods(self, INVOKE_FUNC);
}
/*
diff --git a/ext/zlib/zlib.c b/ext/zlib/zlib.c
index 395eca8be2..9d1b204eb7 100644
--- a/ext/zlib/zlib.c
+++ b/ext/zlib/zlib.c
@@ -439,6 +439,7 @@ zstream_expand_buffer(z)
z->buf_filled = 0;
z->stream.next_out = RSTRING(z->buf)->ptr;
z->stream.avail_out = ZSTREAM_INITIAL_BUFSIZE;
+ RBASIC(z->buf)->klass = 0;
return;
}
@@ -3380,7 +3381,7 @@ void Init_zlib()
cZStream = rb_define_class_under(mZlib, "ZStream", rb_cObject);
rb_undef_alloc_func(cZStream);
rb_define_method(cZStream, "avail_out", rb_zstream_avail_out, 0);
- rb_define_method(cZStream, "avail_out=", rb_zstream_set_avail_out, 0);
+ rb_define_method(cZStream, "avail_out=", rb_zstream_set_avail_out, 1);
rb_define_method(cZStream, "avail_in", rb_zstream_avail_in, 0);
rb_define_method(cZStream, "total_in", rb_zstream_total_in, 0);
rb_define_method(cZStream, "total_out", rb_zstream_total_out, 0);