summaryrefslogtreecommitdiff
path: root/ext/date
diff options
context:
space:
mode:
Diffstat (limited to 'ext/date')
-rw-r--r--ext/date/date_core.c8
-rw-r--r--ext/date/date_strftime.c3
-rw-r--r--ext/date/date_tmx.h2
3 files changed, 6 insertions, 7 deletions
diff --git a/ext/date/date_core.c b/ext/date/date_core.c
index d84d14c..783fbd7 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 b162413..87cb0a7 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 0e56c9b..ed06501 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 {