summaryrefslogtreecommitdiff
path: root/time.c
diff options
context:
space:
mode:
Diffstat (limited to 'time.c')
-rw-r--r--time.c19
1 files changed, 14 insertions, 5 deletions
diff --git a/time.c b/time.c
index 3fb535e26c..78863e0535 100644
--- a/time.c
+++ b/time.c
@@ -105,9 +105,10 @@ rb_time_new(sec, usec)
return time_new_internal(rb_cTime, sec, usec);
}
-struct timeval
-rb_time_interval(time)
+static struct timeval
+time_timeval(time, interval)
VALUE time;
+ int interval;
{
struct timeval t;
@@ -134,14 +135,22 @@ rb_time_interval(time)
break;
default:
- rb_raise(rb_eTypeError, "can't convert %s into Time interval",
- rb_class2name(CLASS_OF(time)));
+ rb_raise(rb_eTypeError, "can't convert %s into Time%s",
+ rb_class2name(CLASS_OF(time)),
+ interval ? " interval" : "");
break;
}
return t;
}
struct timeval
+rb_time_interval(time)
+ VALUE time;
+{
+ return time_timeval(time, Qtrue);
+}
+
+struct timeval
rb_time_timeval(time)
VALUE time;
{
@@ -153,7 +162,7 @@ rb_time_timeval(time)
t = tobj->tv;
return t;
}
- return rb_time_interval(time);
+ return time_timeval(time, Qfalse);
}
static VALUE