Em qui., 11 de fev. de 2021 às 01:46, Tom Lane <tgl@sss.pgh.pa.us> escreveu:
Ranier Vilela <ranier.vf@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)
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.
No matter the function used strtol or strtoint, push_path will remain broken with Windows 64bits.