From ad9e841c5359efdd37a132767e03ad7a2d5ae72e Mon Sep 17 00:00:00 2001 From: Yukihiro Matsumoto Date: Thu, 24 May 2012 01:09:36 +0900 Subject: made mrb_get_args() better (optinal args, type checks); close #173 #176 --- src/time.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'src/time.c') diff --git a/src/time.c b/src/time.c index 293eef583..63b763a08 100644 --- a/src/time.c +++ b/src/time.c @@ -268,7 +268,7 @@ mrb_time_gm(mrb_state *mrb, mrb_value self) { mrb_int ayear = 0, amonth = 1, aday = 1, ahour = 0, amin = 0, asec = 0, ausec = 0; - mrb_get_args(mrb, "iiiiiii", + mrb_get_args(mrb, "i|iiiiii", &ayear, &amonth, &aday, &ahour, &amin, &asec, &ausec); return mrb_time_wrap(mrb, mrb_class_ptr(self), time_mktime(mrb, ayear, amonth, aday, ahour, amin, asec, ausec, MRB_TIMEZONE_UTC)); @@ -282,7 +282,7 @@ mrb_time_local(mrb_state *mrb, mrb_value self) { mrb_int ayear = 0, amonth = 1, aday = 1, ahour = 0, amin = 0, asec = 0, ausec = 0; - mrb_get_args(mrb, "iiiiiii", + mrb_get_args(mrb, "i|iiiiii", &ayear, &amonth, &aday, &ahour, &amin, &asec, &ausec); return mrb_time_wrap(mrb, mrb_class_ptr(self), time_mktime(mrb, ayear, amonth, aday, ahour, amin, asec, ausec, MRB_TIMEZONE_LOCAL)); @@ -352,7 +352,6 @@ mrb_time_minus(mrb_state *mrb, mrb_value self) struct mrb_time *tm; mrb_get_args(mrb, "f", &f); - tm = mrb_get_datatype(mrb, self, &mrb_time_type); if(!tm) return mrb_nil_value(); f -= tm->sec; @@ -499,8 +498,8 @@ static mrb_value mrb_time_initialize_copy(mrb_state *mrb, mrb_value copy) { mrb_value src; - mrb_get_args(mrb, "o", &src); + mrb_get_args(mrb, "o", &src); if (mrb_obj_equal(mrb, copy, src)) return copy; if (!mrb_obj_is_instance_of(mrb, src, mrb_obj_class(mrb, copy))) { mrb_raise(mrb, E_TYPE_ERROR, "wrong argument class"); -- cgit v1.2.3