* ext/date/date_core.c (date_strftime_alloc): followed the change

of r32885.
	* NEWS: followed the above change.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@32959 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
tadf 2011-08-13 00:15:50 +00:00
parent 7eab4f34ff
commit c8a403ebc4
3 changed files with 14 additions and 4 deletions

View file

@ -1,3 +1,9 @@
Sat Aug 13 09:15:16 2011 Tadayoshi Funaba <tadf@dotrb.org>
* ext/date/date_core.c (date_strftime_alloc): followed the change
of r32885.
* NEWS: followed the above change.
Sat Aug 13 08:49:05 2011 Tadayoshi Funaba <tadf@dotrb.org>
* ext/date/date_core.c: [ruby-core:38855].

6
NEWS
View file

@ -163,10 +163,10 @@ with all sufficient information, see the ChangeLog file.
* A method strftime cannot produce huge output (same as Time's one).
* Even though Date/DateTime can handle far dates, the following gives
an empty string:
* Even though Date/DateTime can handle far dates, the following causes
an exception.
DateTime.new(1<<10000).strftime('%Y') #=> ""
DateTime.new(1<<10000).strftime('%Y') # Errno::ERANGE
* Changed the format of inspect.
* Changed the format of marshal (but, can load old dumps).

View file

@ -6721,8 +6721,12 @@ date_strftime_alloc(char **buf, const char *format,
* if the buffer is 1024 times bigger than the length of the
* format string, it's not failing for lack of room.
*/
if (len > 0 || size >= 1024 * flen) break;
if (len > 0) break;
xfree(*buf);
if (size >= 1024 * flen) {
rb_sys_fail(format);
break;
}
}
return len;
}