Prior to this change we depended on errno if strtol could not perform a
conversion. POSIX says EINVAL *may* be set. Some implementations like
Microsoft's will not set it if there's no conversion.
Ref: https://github.com/curl/curl/commit/
ee4f7660#commitcomment-
19658189
unsigned long lstep;
errno = 0;
lstep = strtoul(&pattern[4], &endp, 10);
- if(errno || (*endp != ']'))
+ if(errno || &pattern[4] == endp || *endp != ']')
step = -1;
else {
pattern = endp+1;