add casts
* encoding.c (load_encoding): explicit cast to suppress warning. Though the cast truncates some bits, from heuristic analysis I believe it is OK to do so here. * bignum.c (rb_cstr_to_inum): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36428 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
39b33658e3
commit
8c36fc30c2
@ -1,3 +1,11 @@
|
|||||||
|
Wed Jul 18 12:59:50 2012 URABE Shyouhei <shyouhei@ruby-lang.org>
|
||||||
|
|
||||||
|
* encoding.c (load_encoding): explicit cast to suppress warning.
|
||||||
|
Though the cast truncates some bits, from heuristic analysis I
|
||||||
|
believe it is OK to do so here.
|
||||||
|
|
||||||
|
* bignum.c (rb_cstr_to_inum): ditto.
|
||||||
|
|
||||||
Wed Jul 18 12:55:54 2012 NARUSE, Yui <naruse@ruby-lang.org>
|
Wed Jul 18 12:55:54 2012 NARUSE, Yui <naruse@ruby-lang.org>
|
||||||
|
|
||||||
* lib/benchmark.rb: Fix Benchmark.benchmark output with an empty
|
* lib/benchmark.rb: Fix Benchmark.benchmark output with an empty
|
||||||
|
5
bignum.c
5
bignum.c
@ -731,7 +731,7 @@ rb_cstr_to_inum(const char *str, int base, int badcheck)
|
|||||||
if (badcheck) goto bad;
|
if (badcheck) goto bad;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
nondigit = c;
|
nondigit = (char) c;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
else if ((c = conv_digit(c)) < 0) {
|
else if ((c = conv_digit(c)) < 0) {
|
||||||
@ -1036,7 +1036,8 @@ big2str_find_n1(VALUE x, int base)
|
|||||||
bits = BITSPERDIG*RBIGNUM_LEN(x);
|
bits = BITSPERDIG*RBIGNUM_LEN(x);
|
||||||
}
|
}
|
||||||
|
|
||||||
return (long)ceil(bits/log_2[base - 2]);
|
/* @shyouhei note: vvvvvvvvvvvvv this cast is suspicious. But I believe it is OK, because if that cast loses data, this x value is too big, and should have raised RangeError. */
|
||||||
|
return (long)ceil(((double)bits)/log_2[base - 2]);
|
||||||
}
|
}
|
||||||
|
|
||||||
static long
|
static long
|
||||||
|
@ -582,7 +582,7 @@ load_encoding(const char *name)
|
|||||||
|
|
||||||
while (s < e) {
|
while (s < e) {
|
||||||
if (!ISALNUM(*s)) *s = '_';
|
if (!ISALNUM(*s)) *s = '_';
|
||||||
else if (ISUPPER(*s)) *s = TOLOWER(*s);
|
else if (ISUPPER(*s)) *s = (char)TOLOWER(*s);
|
||||||
++s;
|
++s;
|
||||||
}
|
}
|
||||||
FL_UNSET(enclib, FL_TAINT|FL_UNTRUSTED);
|
FL_UNSET(enclib, FL_TAINT|FL_UNTRUSTED);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user