summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/time.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/time.c b/src/time.c
index 24d86bc33..862ff57a9 100644
--- a/src/time.c
+++ b/src/time.c
@@ -363,8 +363,11 @@ mrb_time_minus(mrb_state *mrb, mrb_value self)
return mrb_float_value(f);
}
else {
- mrb_get_args(mrb, "f", &f);
- return mrb_time_make(mrb, mrb_obj_class(mrb, self), f, tm->timezone);
+ mrb_float f, f2;
+ mrb_get_args(mrb, "f", &f2);
+
+ f = ((mrb_float)tm->sec + (mrb_float)tm->usec/1.0e6);
+ return mrb_time_make(mrb, mrb_obj_class(mrb, self), f-f2, tm->timezone);
}
}