mirror of
https://github.com/ruby/ruby.git
synced 2025-08-15 13:39:04 +02:00
str2big_scan_digits: 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:
parent
4dfc2f2e3d
commit
5a7c0dd038
Notes:
git
2020-06-29 11:07:16 +09:00
1 changed files with 3 additions and 4 deletions
7
bignum.c
7
bignum.c
|
@ -3771,12 +3771,12 @@ str2big_scan_digits(const char *s, const char *str, int base, int badcheck, size
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
if (badcheck && *str == '_') goto bad;
|
||||
if (badcheck && *str == '_') return FALSE;
|
||||
|
||||
while ((c = *str++) != 0) {
|
||||
if (c == '_') {
|
||||
if (nondigit) {
|
||||
if (badcheck) goto bad;
|
||||
if (badcheck) return FALSE;
|
||||
break;
|
||||
}
|
||||
nondigit = (char) c;
|
||||
|
@ -3791,7 +3791,7 @@ str2big_scan_digits(const char *s, const char *str, int base, int badcheck, size
|
|||
}
|
||||
if (len > 0 && !--len) break;
|
||||
}
|
||||
if (badcheck && nondigit) goto bad;
|
||||
if (badcheck && nondigit) return FALSE;
|
||||
if (badcheck && len) {
|
||||
str--;
|
||||
while (*str && ISSPACE(*str)) {
|
||||
|
@ -3799,7 +3799,6 @@ str2big_scan_digits(const char *s, const char *str, int base, int badcheck, size
|
|||
if (len > 0 && !--len) break;
|
||||
}
|
||||
if (len && *str) {
|
||||
bad:
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue