I've found that zic normally copes correctly with zones that are configured to observe DST rules and the ruleset has no future transitions. The problem with Africa/Cairo is that when looking for the last rule zic gets confused by there being two transitions in a single month. It fails to distinguish between their dates, and incorrectly ends up thinking that the transition to DST was latest. The attached patch fixes this bug. Africa/Cairo is the only tzfile affected by the change, and the only change to it is to fill the POSIX-TZ field. I also pointed out America/Argentina/San_Luis. It turns out that zic is deliberately declining to fill the POSIX-TZ field, because of the DSTness of the last observation. This is the same reason why it left that field empty in Africa/Cairo, once it had made the mistake about which observation came last. I have a plan for improving this situation, which I'll address in a separate patch. -zefram