Bug #11935 ยป date-new-argument-errors.patch
| ext/date/date_core.c (working copy) | ||
|---|---|---|
|
fr2 = INT2FIX(0);
|
||
|
sg = DEFAULT_SG;
|
||
|
|
||
|
|
||
|
switch (argc) {
|
||
|
case 4:
|
||
|
val2sg(vsg, sg);
|
||
|
val2sg(vsg, sg);
|
||
|
case 3:
|
||
|
num2int_with_frac(d, positive_inf);
|
||
|
if (!(TYPE(vd) == T_FLOAT ||
|
||
|
TYPE(vd) == T_FIXNUM ||
|
||
|
TYPE(vd) == T_BIGNUM)) {
|
||
|
rb_raise(rb_eArgError, "invalid day");
|
||
|
}
|
||
|
num2int_with_frac(d, positive_inf);
|
||
|
case 2:
|
||
|
m = NUM2INT(vm);
|
||
|
if (!(TYPE(vm) == T_FLOAT ||
|
||
|
TYPE(vm) == T_FIXNUM ||
|
||
|
TYPE(vm) == T_BIGNUM)) {
|
||
|
rb_raise(rb_eArgError, "invalid month");
|
||
|
}
|
||
|
m = NUM2INT(vm);
|
||
|
case 1:
|
||
|
y = vy;
|
||
|
if (!(TYPE(vy) == T_FLOAT ||
|
||
|
TYPE(vy) == T_FIXNUM ||
|
||
|
TYPE(vy) == T_BIGNUM)) {
|
||
|
rb_raise(rb_eArgError, "invalid year");
|
||
|
}
|
||
|
y = vy;
|
||
|
}
|
||
|
|
||
|
if (guess_style(y, sg) < 0) {
|
||