Martin:
> In variables.c at line 6243 we have
> eof_encountered_limit = (*temp && all_digits (temp)) ? atoi (temp) : 10;
>
> Presumably in your build of Bash, as in mine, `int` is
> 32-bit, so the maximum value convertible by atoi would
> be 2147483647. Larger values are returned modulo
> 4294967296 (with 2's complement sign handling).
> atoi("9223372036854775807") returns -1.
>
> (This does not limit the range that printf can handle;
> it will normally cope with at least 64-bit (the size of
> `intmax_t` and/or `long int`).
Thank you very much!
I checked `man printf`, and it says "widths are handled" and doesn’t accept the
'%l' format specifier.
So it does seem like the default is equivalent to C’s '%ull' rather than C’s
'%u' (unsigned int).
So, what’s the correct way to get INT_MAX?
I’m not planning to use it in IGNOREEOF (I’ve already set `IGNOREEOF=127` in my
`.bash_login`, which big enough), I’m just curious…