Tweaked argument handling in Message#initialize.
authorTilman Sauerbeck <tilman@code-monkey.de>
Thu, 28 Apr 2005 18:37:16 +0000 (18:37 +0000)
committerTilman Sauerbeck <tilman@code-monkey.de>
Thu, 28 Apr 2005 18:37:16 +0000 (18:37 +0000)
src/rb_edje.c

index 6a9b7f7..8e0f0b6 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: rb_edje.c 331 2005-04-28 18:17:21Z tilman $
+ * $Id: rb_edje.c 332 2005-04-28 18:37:16Z tilman $
  *
  * Copyright (C) 2004 Tilman Sauerbeck (tilman at code-monkey de)
  *
@@ -640,11 +640,16 @@ static VALUE c_send_message (VALUE self, VALUE msg)
 
 static VALUE c_msg_init (int argc, VALUE *argv, VALUE self)
 {
-       VALUE val;
+       VALUE id, val;
 
-       rb_scan_args (argc, argv, "01", &val);
+       if (argc == 2)
+               rb_scan_args (argc, argv, "11", &id, &val);
+       else
+               rb_scan_args (argc, argv, "1*", &id, &val);
+
+       Check_Type (id, T_FIXNUM);
 
-       rb_iv_set (self, "@id", UINT2NUM (0));
+       rb_iv_set (self, "@id", UINT2NUM (id));
        rb_iv_set (self, "@value", val);
 
        return self;