mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
time.c: ignore 7th arg
* time.c (tm_initialize): allow 7th argument as well as Time#initialize, but just ignore. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65420 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
c4be18c28b
commit
d59ad98f6a
1 changed files with 19 additions and 21 deletions
26
time.c
26
time.c
|
@ -5065,7 +5065,7 @@ tm_from_time(VALUE klass, VALUE time)
|
|||
/*
|
||||
* call-seq:
|
||||
*
|
||||
* Time::TM.new(year, month, day, hour, min, sec) -> tm
|
||||
* Time::TM.new(year, month=nil, day=nil, hour=nil, min=nil, sec=nil, tz=nil) -> tm
|
||||
*
|
||||
* Creates new Time::TM object.
|
||||
*/
|
||||
|
@ -5073,23 +5073,20 @@ tm_from_time(VALUE klass, VALUE time)
|
|||
static VALUE
|
||||
tm_initialize(int argc, VALUE *argv, VALUE tm)
|
||||
{
|
||||
#if TM_IS_TIME
|
||||
struct time_object *tobj = DATA_PTR(tm);
|
||||
struct vtm vtm;
|
||||
|
||||
rb_check_arity(argc, 1, 6);
|
||||
time_arg(argc, argv, &vtm);
|
||||
tobj->tzmode = TIME_TZMODE_UTC;
|
||||
tobj->timew = timegmw(&vtm);
|
||||
tobj->vtm = vtm;
|
||||
return tm;
|
||||
#else
|
||||
int i = 0;
|
||||
struct vtm vtm;
|
||||
wideval_t t;
|
||||
|
||||
if (rb_check_arity(argc, 1, 7) > 6) argc = 6;
|
||||
time_arg(argc, argv, &vtm);
|
||||
t = timegmw(&vtm);
|
||||
{
|
||||
#if TM_IS_TIME
|
||||
struct time_object *tobj = DATA_PTR(tm);
|
||||
tobj->tzmode = TIME_TZMODE_UTC;
|
||||
tobj->timew = t;
|
||||
tobj->vtm = vtm;
|
||||
#else
|
||||
int i = 0;
|
||||
RSTRUCT_SET(tm, i++, INT2FIX(vtm.sec));
|
||||
RSTRUCT_SET(tm, i++, INT2FIX(vtm.min));
|
||||
RSTRUCT_SET(tm, i++, INT2FIX(vtm.hour));
|
||||
|
@ -5097,8 +5094,9 @@ tm_initialize(int argc, VALUE *argv, VALUE tm)
|
|||
RSTRUCT_SET(tm, i++, INT2FIX(vtm.mon));
|
||||
RSTRUCT_SET(tm, i++, vtm.year);
|
||||
RSTRUCT_SET(tm, i++, w2v(rb_time_unmagnify(t)));
|
||||
return tm;
|
||||
#endif
|
||||
}
|
||||
return tm;
|
||||
}
|
||||
|
||||
/* call-seq:
|
||||
|
|
Loading…
Reference in a new issue