зеркало из https://github.com/github/ruby.git
rb_big_aref: do not goto into a branch
I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor.
This commit is contained in:
Родитель
184f0ab4c9
Коммит
9ec4f1f205
4
bignum.c
4
bignum.c
|
@ -6712,7 +6712,6 @@ rb_big_aref(VALUE x, VALUE y)
|
|||
return INT2FIX(0);
|
||||
bigtrunc(y);
|
||||
if (BIGSIZE(y) > sizeof(size_t)) {
|
||||
out_of_range:
|
||||
return BIGNUM_SIGN(x) ? INT2FIX(0) : INT2FIX(1);
|
||||
}
|
||||
#if SIZEOF_SIZE_T <= SIZEOF_LONG
|
||||
|
@ -6730,7 +6729,8 @@ rb_big_aref(VALUE x, VALUE y)
|
|||
s2 = shift%BITSPERDIG;
|
||||
bit = (BDIGIT)1 << s2;
|
||||
|
||||
if (s1 >= BIGNUM_LEN(x)) goto out_of_range;
|
||||
if (s1 >= BIGNUM_LEN(x))
|
||||
return BIGNUM_SIGN(x) ? INT2FIX(0) : INT2FIX(1);
|
||||
|
||||
xds = BDIGITS(x);
|
||||
if (BIGNUM_POSITIVE_P(x))
|
||||
|
|
Загрузка…
Ссылка в новой задаче