Hi,
I extracted the v2015e code and like to ask some things:
1.
Why do you not always initialize the variables that are now passed to the INITIALIZE macro (see date.c/localtime.c/zic.c/private.h)? It has (almost) no impact on performance and prevents strict compilers to complain about (potentially)
non-initialized variables. If you assign zero upon declaration, the INITIALIZE macro can go away.
2.
In asctime_r() (asctime.c:72 and later) two arrays are used for week days. These arrays use a size of ‘3’ for a 3-letter weekday. I expect to use an array of ‘4’, because the ‘\0’ character need to fit too, because the wn and mn variables
are used in a call to sprintf() (line 106), where sprintf() normally requires to use 0-terminated strings. By using a ‘4’-sized array, this is automatically achieved. I don’t know whether all sprintf() implementations for all operating systems respect the
width/size specifier and allow non-0 terminated string. Now a size/width of ‘3’ is specified, which is not needed if the strings are well terminated, or by accident used somewhere else.
I really appreciate if you will do something with these suggestions.
Regards,
Kees