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