зеркало из https://github.com/github/ruby.git
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:
Родитель
c4be18c28b
Коммит
d59ad98f6a
40
time.c
40
time.c
|
@ -5065,7 +5065,7 @@ tm_from_time(VALUE klass, VALUE time)
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* 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.
|
* Creates new Time::TM object.
|
||||||
*/
|
*/
|
||||||
|
@ -5073,32 +5073,30 @@ tm_from_time(VALUE klass, VALUE time)
|
||||||
static VALUE
|
static VALUE
|
||||||
tm_initialize(int argc, VALUE *argv, VALUE tm)
|
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;
|
struct vtm vtm;
|
||||||
wideval_t t;
|
wideval_t t;
|
||||||
|
|
||||||
|
if (rb_check_arity(argc, 1, 7) > 6) argc = 6;
|
||||||
time_arg(argc, argv, &vtm);
|
time_arg(argc, argv, &vtm);
|
||||||
t = timegmw(&vtm);
|
t = timegmw(&vtm);
|
||||||
RSTRUCT_SET(tm, i++, INT2FIX(vtm.sec));
|
{
|
||||||
RSTRUCT_SET(tm, i++, INT2FIX(vtm.min));
|
#if TM_IS_TIME
|
||||||
RSTRUCT_SET(tm, i++, INT2FIX(vtm.hour));
|
struct time_object *tobj = DATA_PTR(tm);
|
||||||
RSTRUCT_SET(tm, i++, INT2FIX(vtm.mday));
|
tobj->tzmode = TIME_TZMODE_UTC;
|
||||||
RSTRUCT_SET(tm, i++, INT2FIX(vtm.mon));
|
tobj->timew = t;
|
||||||
RSTRUCT_SET(tm, i++, vtm.year);
|
tobj->vtm = vtm;
|
||||||
RSTRUCT_SET(tm, i++, w2v(rb_time_unmagnify(t)));
|
#else
|
||||||
return tm;
|
int i = 0;
|
||||||
|
RSTRUCT_SET(tm, i++, INT2FIX(vtm.sec));
|
||||||
|
RSTRUCT_SET(tm, i++, INT2FIX(vtm.min));
|
||||||
|
RSTRUCT_SET(tm, i++, INT2FIX(vtm.hour));
|
||||||
|
RSTRUCT_SET(tm, i++, INT2FIX(vtm.mday));
|
||||||
|
RSTRUCT_SET(tm, i++, INT2FIX(vtm.mon));
|
||||||
|
RSTRUCT_SET(tm, i++, vtm.year);
|
||||||
|
RSTRUCT_SET(tm, i++, w2v(rb_time_unmagnify(t)));
|
||||||
#endif
|
#endif
|
||||||
|
}
|
||||||
|
return tm;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* call-seq:
|
/* call-seq:
|
||||||
|
|
Загрузка…
Ссылка в новой задаче