On 2024-09-12 12:03, Pádraig Brady wrote:
This is tricky enough, that we should be as restrictive as possible here,
so I may resort to strspn(f, "0123456789") to parse instead.
I'll think a bit about it.
The code's also assuming INT_MAX < INTMAX_MAX, which POSIX doesn't 
require. You could put in a static_assert to that effect, I suppose, to 
document the assumption.
More important, though, if you're not in the C locale all bets are off 
as far as what strtoimax will also parse.
When I ran into this problem with GNU tar, I ended by giving up on 
strtoimax and did my own little integer parser. It does exactly what I 
want and I don't have to fire up the strtoimax complexity+locale engine.


Reply via email to