[PATCH] add tests for tzset(3)
jdoubleu
hi@jdoubleu.de
Thu May 12 18:35:53 GMT 2022
Hi Jeff,
I finally found some time to have a look at your patch.
> if (sscanf (tzenv, "%10[-+0-9A-Za-z]%n", __tzname_std, &n) <= 0
> || n < TZNAME_MIN || TZNAME_MAX < n || '>' != tzenv[n])
> + else if (n < TZNAME_MIN || TZNAME_MAX < n)
I think the sub-expression "TZNAME_MAX < n" can never be true, can it?
sscanf will always stop after 10 characters.
What do you think about including the TZNAME_MAX macro inside the format
string?
> #define STR(s) #s
> #define STR_LIT(s) STR(s)
> ...
> sscanf(tzenv, "%" STR_LIT(TZNAME_MAX) "[-+0-9A-Za-z]%n", __tzname_dst, &n)
I'll try to update the tests in the coming days, so I can verify your
changes work as expected.
Cheers
---
🙎🏻♂️ jdoubleu
On 4/29/2022 5:46 PM, Jeff Johnston wrote:
> I have revised my tzset_r.c patch so that the tzrules are initialized so we
> don't inherit the previous settings if not specified for a particular TZ.
> As well, I defaulted them if TZ is not specified.
>
> -- Jeff J.
More information about the Newlib
mailing list