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
This commit is contained in:
nobu 2016-03-24 02:43:34 +00:00
parent aeb0be6ad5
commit f3de12aa6b
3 changed files with 9 additions and 1 deletions

View File

@ -1,3 +1,9 @@
Thu Mar 24 11:43:32 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* 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 <mrkn@mrkn.jp>
* enum.c (ary_inject_op): put subtract operation out of if-clause.

View File

@ -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;

View File

@ -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"))