diff --git a/ChangeLog b/ChangeLog index 3a8ba7da89..6960dedb09 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Sat Jun 16 18:46:57 2012 Tadayoshi Funaba + + * ext/date/date_tmx.h: offset in struct tmx_funcs is now int. + * ext/date/date_strftime.c: ditto. + * ext/date/date_core.c: ditto. + Sat Jun 16 18:31:46 2012 Nobuyoshi Nakada * eval.c (ruby_setup): set running state in the normal case before diff --git a/ext/date/date_core.c b/ext/date/date_core.c index d84d14c2bf..783fbd7748 100644 --- a/ext/date/date_core.c +++ b/ext/date/date_core.c @@ -6813,10 +6813,10 @@ tmx_m_msecs(union DateData *x) return s; } -static VALUE +static int tmx_m_of(union DateData *x) { - return INT2FIX(m_of(x)); + return m_of(x); } static char * @@ -6842,7 +6842,7 @@ static struct tmx_funcs tmx_funcs = { (VALUE (*)(void *))m_sf_in_sec, (VALUE (*)(void *))tmx_m_secs, (VALUE (*)(void *))tmx_m_msecs, - (VALUE (*)(void *))tmx_m_of, + (int (*)(void *))tmx_m_of, (char *(*)(void *))tmx_m_zone }; @@ -8650,7 +8650,7 @@ dt_lite_jisx0301(int argc, VALUE *argv, VALUE self) static VALUE time_to_time(VALUE self) { - return rb_funcall(self, rb_intern("getlocal"), 0); + return f_getlocal(self); } /* diff --git a/ext/date/date_strftime.c b/ext/date/date_strftime.c index b162413b90..87cb0a7ddd 100644 --- a/ext/date/date_strftime.c +++ b/ext/date/date_strftime.c @@ -424,8 +424,7 @@ date_strftime_with_tmx(char *s, size_t maxsize, const char *format, long off, aoff; int hl, hw; - off = NUM2LONG(rb_funcall(tmx_offset, rb_intern("round"), 0)); - + off = tmx_offset; aoff = off; if (aoff < 0) aoff = -off; diff --git a/ext/date/date_tmx.h b/ext/date/date_tmx.h index 0e56c9b4f0..ed06501228 100644 --- a/ext/date/date_tmx.h +++ b/ext/date/date_tmx.h @@ -18,7 +18,7 @@ struct tmx_funcs { VALUE (*sec_fraction)(void *dat); VALUE (*secs)(void *dat); VALUE (*msecs)(void *dat); - VALUE (*offset)(void *dat); + int (*offset)(void *dat); char *(*zone)(void *dat); }; struct tmx {