Em qui., 11 de fev. de 2021 às 01:46, Tom Lane <t...@sss.pgh.pa.us> escreveu:
> 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) > > 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. Or need to correct the expression. Definitely using long is a bad idea. regards, Ranier Vilela