X-Git-Url: http://git.code-monkey.de/?p=ruby-eet.git;a=blobdiff_plain;f=ext%2Fext.c;h=94df85d4e8ff2d601c580ca91531228201331326;hp=236df7c0450359299852bdd27fa93ebdc6685221;hb=c2f066281c7c4b2bff662aab05d934bff2155223;hpb=2a63c86653e3383da8a7aabad31a054bf7c3f9c5 diff --git a/ext/ext.c b/ext/ext.c index 236df7c..94df85d 100644 --- a/ext/ext.c +++ b/ext/ext.c @@ -1,5 +1,5 @@ /* - * $Id: ext.c 13 2005-03-27 18:35:51Z tilman $ + * $Id: ext.c 28 2005-04-11 20:58:23Z tilman $ * * Copyright (c) 2005 Tilman Sauerbeck (tilman at code-monkey de) * @@ -27,9 +27,10 @@ #include #define CHECK_KEY(key) \ - Check_Type ((key), T_STRING); \ - if (rb_funcall ((key), rb_intern ("include?"), \ - 1, INT2FIX (0)) == Qtrue) \ + StringValue((key)); \ +\ + if (rb_funcall (key, rb_intern ("include?"), \ + 1, INT2FIX (0)) == Qtrue) \ rb_raise (rb_eArgError, "key must not contain binary zeroes"); static VALUE c_close (VALUE self); @@ -100,10 +101,10 @@ c_init (int argc, VALUE *argv, VALUE self) rb_scan_args (argc, argv, "11", &file, &mode); - Check_Type (file, T_STRING); + StringValue (file); if (!NIL_P (mode)) { - Check_Type (mode, T_STRING); + StringValue (mode); tmp = StringValuePtr (mode); if (!strcmp (tmp, "r+")) @@ -194,10 +195,8 @@ c_list (int argc, VALUE *argv, VALUE self) rb_scan_args (argc, argv, "01", &glob); - if (!NIL_P (glob)) { - Check_Type (glob, T_STRING); + if (!NIL_P (glob)) tmp = StringValuePtr (glob); - } ret = rb_ary_new (); @@ -302,7 +301,7 @@ c_write (int argc, VALUE *argv, VALUE self) comp = Qtrue; CHECK_KEY (key); - Check_Type (buf, T_STRING); + StringValue (buf); n = eet_write (*ef, StringValuePtr (key), StringValuePtr (buf), RSTRING (buf)->len, @@ -395,7 +394,7 @@ c_write_image (int argc, VALUE *argv, VALUE self) has_alpha = Qfalse; CHECK_KEY (key); - Check_Type (buf, T_STRING); + StringValue (buf); Check_Type (w, T_FIXNUM); Check_Type (h, T_FIXNUM);