summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--time.c6
-rw-r--r--timev.rb4
2 files changed, 5 insertions, 5 deletions
diff --git a/time.c b/time.c
index 6fa4047e29..9ecc09347c 100644
--- a/time.c
+++ b/time.c
@@ -2678,13 +2678,13 @@ get_scale(VALUE unit)
}
static VALUE
-time_s_at(rb_execution_context_t *ec, VALUE klass, VALUE time, VALUE subsec, VALUE unit, VALUE zone, VALUE nosubsec, VALUE nounit)
+time_s_at(rb_execution_context_t *ec, VALUE klass, VALUE time, VALUE subsec, VALUE unit, VALUE zone)
{
VALUE t;
wideval_t timew;
- if (!RTEST(nosubsec)) {
- int scale = !RTEST(nounit) ? get_scale(unit) : 1000000;
+ if (!NIL_P(subsec)) {
+ int scale = get_scale(unit);
time = num_exact(time);
t = num_exact(subsec);
timew = wadd(rb_time_magnify(v2w(time)), wmulquoll(v2w(t), TIME_SCALE, scale));
diff --git a/timev.rb b/timev.rb
index 1be675df35..b73d8c8cc0 100644
--- a/timev.rb
+++ b/timev.rb
@@ -267,8 +267,8 @@ class Time
# :include: doc/time/nsec.rdoc
# :include: doc/time/in.rdoc
#
- def self.at(time, subsec = (nosubsec = true), unit = (nounit = true), in: nil)
- __builtin.time_s_at(time, subsec, unit, __builtin.arg!(:in), nosubsec, nounit)
+ def self.at(time, subsec = nil, unit = :microsecond, in: nil)
+ __builtin.time_s_at(time, subsec, unit, __builtin.arg!(:in))
end
# Returns a new \Time object based the on given arguments.