isdigit(), isspace(), etc are likely to give surprising results if passed a
signed char. We should always cast the argument to unsigned char to avoid
that. Error in commit
63d6b97fd, found by buildfarm member gaur.
Back-patch to 9.3, like that commit.
/* skip invalid characters */
do {
(*scan_length)++;
- } while (isdigit(**scan_length));
+ } while (isdigit((unsigned char) **scan_length));
}
if (**scan_length != ' ' && **scan_length != '\0')