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:
卜部昌平 2020-06-11 12:53:12 +09:00
Родитель 4dfc2f2e3d
Коммит 5a7c0dd038
1 изменённых файлов: 3 добавлений и 4 удалений

Просмотреть файл

@ -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;
}
}