mirror of
https://github.com/python/cpython.git
synced 2025-09-19 15:10:58 +00:00
use Py_CHARMASK; and don't check for neg. float to the float power here
This commit is contained in:
parent
2497eada60
commit
9fa2c11613
3 changed files with 8 additions and 12 deletions
|
@ -136,7 +136,7 @@ float_buf_repr(buf, v)
|
||||||
for (; *cp != '\0'; cp++) {
|
for (; *cp != '\0'; cp++) {
|
||||||
/* Any non-digit means it's not an integer;
|
/* Any non-digit means it's not an integer;
|
||||||
this takes care of NAN and INF as well. */
|
this takes care of NAN and INF as well. */
|
||||||
if (!isdigit(*cp))
|
if (!isdigit(Py_CHARMASK(*cp)))
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (*cp == '\0') {
|
if (*cp == '\0') {
|
||||||
|
@ -330,10 +330,6 @@ float_pow(v, w, z)
|
||||||
}
|
}
|
||||||
return newfloatobject(0.0);
|
return newfloatobject(0.0);
|
||||||
}
|
}
|
||||||
if (iv < 0.0) {
|
|
||||||
err_setstr(ValueError, "negative float to float power");
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
errno = 0;
|
errno = 0;
|
||||||
ix = pow(iv, iw);
|
ix = pow(iv, iw);
|
||||||
CHECK(ix);
|
CHECK(ix);
|
||||||
|
|
|
@ -377,7 +377,7 @@ long_escan(str, pend, base)
|
||||||
err_setstr(ValueError, "invalid base for long literal");
|
err_setstr(ValueError, "invalid base for long literal");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
while (*str != '\0' && isspace(*str))
|
while (*str != '\0' && isspace(Py_CHARMASK(*str)))
|
||||||
str++;
|
str++;
|
||||||
if (*str == '+')
|
if (*str == '+')
|
||||||
++str;
|
++str;
|
||||||
|
@ -385,7 +385,7 @@ long_escan(str, pend, base)
|
||||||
++str;
|
++str;
|
||||||
sign = -1;
|
sign = -1;
|
||||||
}
|
}
|
||||||
while (*str != '\0' && isspace(*str))
|
while (*str != '\0' && isspace(Py_CHARMASK(*str)))
|
||||||
str++;
|
str++;
|
||||||
if (base == 0) {
|
if (base == 0) {
|
||||||
if (str[0] != '0')
|
if (str[0] != '0')
|
||||||
|
|
|
@ -749,10 +749,10 @@ formatstring(format, args)
|
||||||
if (--fmtcnt >= 0)
|
if (--fmtcnt >= 0)
|
||||||
c = *fmt++;
|
c = *fmt++;
|
||||||
}
|
}
|
||||||
else if (isdigit(c)) {
|
else if (c >= 0 && isdigit(c)) {
|
||||||
width = c - '0';
|
width = c - '0';
|
||||||
while (--fmtcnt >= 0) {
|
while (--fmtcnt >= 0) {
|
||||||
c = *fmt++;
|
c = Py_CHARMASK(*fmt++);
|
||||||
if (!isdigit(c))
|
if (!isdigit(c))
|
||||||
break;
|
break;
|
||||||
if ((width*10) / 10 != width) {
|
if ((width*10) / 10 != width) {
|
||||||
|
@ -782,10 +782,10 @@ formatstring(format, args)
|
||||||
if (--fmtcnt >= 0)
|
if (--fmtcnt >= 0)
|
||||||
c = *fmt++;
|
c = *fmt++;
|
||||||
}
|
}
|
||||||
else if (isdigit(c)) {
|
else if (c >= 0 && isdigit(c)) {
|
||||||
prec = c - '0';
|
prec = c - '0';
|
||||||
while (--fmtcnt >= 0) {
|
while (--fmtcnt >= 0) {
|
||||||
c = *fmt++;
|
c = Py_CHARMASK(*fmt++);
|
||||||
if (!isdigit(c))
|
if (!isdigit(c))
|
||||||
break;
|
break;
|
||||||
if ((prec*10) / 10 != prec) {
|
if ((prec*10) / 10 != prec) {
|
||||||
|
@ -913,7 +913,7 @@ formatstring(format, args)
|
||||||
--rescnt;
|
--rescnt;
|
||||||
*res++ = ' ';
|
*res++ = ' ';
|
||||||
}
|
}
|
||||||
if (dict && (argidx < arglen)) {
|
if (dict && (argidx < arglen) && c != '%') {
|
||||||
err_setstr(TypeError,
|
err_setstr(TypeError,
|
||||||
"not all arguments converted");
|
"not all arguments converted");
|
||||||
goto error;
|
goto error;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue