diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | marshal.c | 5 |
2 files changed, 8 insertions, 1 deletions
@@ -1,3 +1,7 @@ +Fri May 14 07:27:07 2010 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * marshal.c (w_float): strip ".0" from end for rubyspec. + Fri May 14 01:17:10 2010 Yusuke Endoh <mame@tsg.ne.jp> * vm_core.c (rb_thread_struct): add a field for sigaltstack. @@ -369,7 +369,10 @@ w_float(double d, struct dump_arg *arg) else w_cstr("0", arg); } else { - w_bytes(buf, ruby_dbl2cstr(d, buf, (int)sizeof(buf)), arg); + int len = ruby_dbl2cstr(d, buf, (int)sizeof(buf)); + if (len > 2 && buf[len - 1] == '0' && buf[len - 2] == '.') + len -= 2; + w_bytes(buf, len, arg); } } |