Ranier Vilela <ranier...@gmail.com> writes: > *long* 4 *long int*, *signed long int* -2.147.483.648 a 2.147.483.647 > Therefore long never be > INT_MAX at Windows 64 bits. > Thus lindex is always false in this expression: > if (errno != 0 || badp == c || *badp != '\0' || lindex > INT_MAX || lindex > < INT_MIN)
Warnings about this are purest nanny-ism. At the same time, I think this code could be improved; but the way to do that is to use strtoint(), rather than kluging the choice of datatype even further. regards, tom lane