diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | strftime.c | 3 | ||||
-rw-r--r-- | test/ruby/test_time.rb | 2 |
3 files changed, 9 insertions, 3 deletions
@@ -1,3 +1,10 @@ +Mon Nov 24 22:07:07 2008 Shugo Maeda <shugo@ruby-lang.org> + + * strftime.c (rb_strftime): The precision of %0N should be 9. + [ruby-dev:37156] + + * test/ruby/test_time.rb (test_strftime): ditto. + Mon Nov 24 21:38:23 2008 Shugo Maeda <shugo@ruby-lang.org> * strftime.c (rb_strftime): The default precision should be 1, not diff --git a/strftime.c b/strftime.c index 5565a9be07..2c98164c0b 100644 --- a/strftime.c +++ b/strftime.c @@ -673,8 +673,7 @@ rb_strftime(char *s, size_t maxsize, const char *format, const struct tm *timept { long n = ts->tv_nsec; - if (precision == 0) continue; - if (precision < 0) { + if (precision <= 0) { precision = w; } NEEDS(precision); diff --git a/test/ruby/test_time.rb b/test/ruby/test_time.rb index d3b6982649..b15027c1f8 100644 --- a/test/ruby/test_time.rb +++ b/test/ruby/test_time.rb @@ -396,7 +396,7 @@ class TestTime < Test::Unit::TestCase assert_equal("123456", t.strftime("%6N")) assert_equal("123456789", t.strftime("%9N")) assert_equal("1234567890", t.strftime("%10N")) - assert_equal("", t.strftime("%0N")) + assert_equal("123456789", t.strftime("%0N")) assert_equal("000", t.strftime("%3S")) assert_equal("946684800", t.strftime("%s")) assert_equal("946684800", t.utc.strftime("%s")) |