mirror of
https://github.com/ruby/ruby.git
synced 2025-09-17 17:43:59 +02:00
merge revision(s) 43775: [Fixes GH-458]
https://github.com/ruby/ruby/pull/458 * util.c (ruby_strtod): ignore too long fraction part, which does not affect the result. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@44353 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
e80d0a9631
commit
2b93dbd8e7
3 changed files with 21 additions and 6 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
Fri Nov 22 12:43:52 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
|
* util.c (ruby_strtod): ignore too long fraction part, which does not
|
||||||
|
affect the result.
|
||||||
|
|
||||||
Mon Apr 15 14:57:43 2013 NARUSE, Yui <naruse@ruby-lang.org>
|
Mon Apr 15 14:57:43 2013 NARUSE, Yui <naruse@ruby-lang.org>
|
||||||
|
|
||||||
* ext/json/parser/parser.rl (json_string_unescape): workaround fix
|
* ext/json/parser/parser.rl (json_string_unescape): workaround fix
|
||||||
|
|
14
util.c
14
util.c
|
@ -852,6 +852,11 @@ extern void *MALLOC(size_t);
|
||||||
#else
|
#else
|
||||||
#define MALLOC malloc
|
#define MALLOC malloc
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef FREE
|
||||||
|
extern void FREE(void*);
|
||||||
|
#else
|
||||||
|
#define FREE free
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef Omit_Private_Memory
|
#ifndef Omit_Private_Memory
|
||||||
#ifndef PRIVATE_MEM
|
#ifndef PRIVATE_MEM
|
||||||
|
@ -1142,7 +1147,7 @@ Balloc(int k)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
ACQUIRE_DTOA_LOCK(0);
|
ACQUIRE_DTOA_LOCK(0);
|
||||||
if ((rv = freelist[k]) != 0) {
|
if (k <= Kmax && (rv = freelist[k]) != 0) {
|
||||||
freelist[k] = rv->next;
|
freelist[k] = rv->next;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -1152,7 +1157,7 @@ Balloc(int k)
|
||||||
#else
|
#else
|
||||||
len = (sizeof(Bigint) + (x-1)*sizeof(ULong) + sizeof(double) - 1)
|
len = (sizeof(Bigint) + (x-1)*sizeof(ULong) + sizeof(double) - 1)
|
||||||
/sizeof(double);
|
/sizeof(double);
|
||||||
if (pmem_next - private_mem + len <= PRIVATE_mem) {
|
if (k <= Kmax && pmem_next - private_mem + len <= PRIVATE_mem) {
|
||||||
rv = (Bigint*)pmem_next;
|
rv = (Bigint*)pmem_next;
|
||||||
pmem_next += len;
|
pmem_next += len;
|
||||||
}
|
}
|
||||||
|
@ -1171,6 +1176,10 @@ static void
|
||||||
Bfree(Bigint *v)
|
Bfree(Bigint *v)
|
||||||
{
|
{
|
||||||
if (v) {
|
if (v) {
|
||||||
|
if (v->k > Kmax) {
|
||||||
|
FREE(v);
|
||||||
|
return;
|
||||||
|
}
|
||||||
ACQUIRE_DTOA_LOCK(0);
|
ACQUIRE_DTOA_LOCK(0);
|
||||||
v->next = freelist[v->k];
|
v->next = freelist[v->k];
|
||||||
freelist[v->k] = v;
|
freelist[v->k] = v;
|
||||||
|
@ -2212,6 +2221,7 @@ break2:
|
||||||
for (; c >= '0' && c <= '9'; c = *++s) {
|
for (; c >= '0' && c <= '9'; c = *++s) {
|
||||||
have_dig:
|
have_dig:
|
||||||
nz++;
|
nz++;
|
||||||
|
if (nf > DBL_DIG * 2) continue;
|
||||||
if (c -= '0') {
|
if (c -= '0') {
|
||||||
nf += nz;
|
nf += nz;
|
||||||
for (i = 1; i < nz; i++)
|
for (i = 1; i < nz; i++)
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
#define RUBY_VERSION "1.9.2"
|
#define RUBY_VERSION "1.9.2"
|
||||||
#define RUBY_PATCHLEVEL 325
|
#define RUBY_PATCHLEVEL 326
|
||||||
#define RUBY_VERSION_MAJOR 1
|
#define RUBY_VERSION_MAJOR 1
|
||||||
#define RUBY_VERSION_MINOR 9
|
#define RUBY_VERSION_MINOR 9
|
||||||
#define RUBY_VERSION_TEENY 1
|
#define RUBY_VERSION_TEENY 1
|
||||||
|
|
||||||
#define RUBY_RELEASE_YEAR 2013
|
#define RUBY_RELEASE_YEAR 2013
|
||||||
#define RUBY_RELEASE_MONTH 4
|
#define RUBY_RELEASE_MONTH 12
|
||||||
#define RUBY_RELEASE_DAY 15
|
#define RUBY_RELEASE_DAY 23
|
||||||
#define RUBY_RELEASE_DATE "2013-04-15"
|
#define RUBY_RELEASE_DATE "2013-12-23"
|
||||||
|
|
||||||
#include "ruby/version.h"
|
#include "ruby/version.h"
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue