Feb. 24, 2006
9:31 p.m.
In this code: union { struct tzhead tzhead; char buf[2 * sizeof(struct tzhead) + 2 * sizeof *sp + 4 * TZ_MAX_TIMES]; } u; it's not clear to me that the buffer is large enough. For example, aren't there two copies of the leap second transitions, and isn't the second copy bigger, so shouldn't TZ_MAX_LEAPS be involved? And is there guaranteed to be room for the POSIX TZ string? Perhaps a comment is in order, at any rate?