From 371a11f678c6b09463043d07a2cb345362250e7b Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 24 Mar 2016 02:43:34 +0000 Subject: strftime.c: fix false failure * strftime.c (rb_strftime_with_timespec): remove unnecessary check, as `s` equals to `endp` when recursed STRFTIME resized the capacity same as the size. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ strftime.c | 2 +- test/ruby/test_time.rb | 2 ++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 64fc8e8104..e447f9920b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Thu Mar 24 11:43:32 2016 Nobuyoshi Nakada + + * strftime.c (rb_strftime_with_timespec): remove unnecessary + check, as `s` equals to `endp` when recursed STRFTIME resized + the capacity same as the size. + Wed Mar 23 21:48:00 2016 Kenta Murata * enum.c (ary_inject_op): put subtract operation out of if-clause. diff --git a/strftime.c b/strftime.c index a426a455bd..f532bb0ac6 100644 --- a/strftime.c +++ b/strftime.c @@ -851,7 +851,7 @@ rb_strftime_with_timespec(VALUE ftime, const char *format, size_t format_len, } } } - if (s >= endp || format != format_end) { + if (format != format_end) { return 0; } len = s - start; diff --git a/test/ruby/test_time.rb b/test/ruby/test_time.rb index 71f2756216..3e7d9613ed 100644 --- a/test/ruby/test_time.rb +++ b/test/ruby/test_time.rb @@ -651,6 +651,8 @@ class TestTime < Test::Unit::TestCase assert_equal("UTC", t2000.strftime("%Z")) assert_equal("%", t2000.strftime("%%")) assert_equal("0", t2000.strftime("%-S")) + assert_equal("12:00:00 AM", t2000.strftime("%r")) + assert_equal("Sat 2000-01-01T00:00:00", t2000.strftime("%3a %FT%T")) assert_equal("", t2000.strftime("")) assert_equal("foo\0bar\x0000\x0000\x0000", t2000.strftime("foo\0bar\0%H\0%M\0%S")) -- cgit v1.2.3