date_core testing address not value of variable on stack
This line appears ten times in date_core.c:
decode_year(y, ns ? -1 : +1, &nth2, ry);
The type of ns is int*, and it seems to always be populated with the address of a stack variable, with the effect that the condition is always true. It looks like the intent is to ensure that decode_year uses Gregorian years if the value ns is true, i.e.:
decode_year(y, *ns ? -1 : +1, &nth2, ry);
It may be the case that this code is unreachable: guess_style() would have to return zero and nth would have to be calculated to be greater or less than zero. Is there any way that could happen?