I'm trying to use the timezone stuff you maintain on a 64-bit Alpha running Linux. It builds fine, but the timezone compiler has some trouble (it runs forever). I tracked the problem down to this code from timesub(): if (days >= 0) for ( ; ; ) { yleap = isleap(y); if (days < (long) year_lengths[yleap]) break; ++y; days = days - (long) year_lengths[yleap]; } else do { --y; yleap = isleap(y); days = days + (long) year_lengths[yleap]; } while (days < 0); This works fine when the number of years you can represent is small, as it is on a 32 bit machine. On a 64-bit machine however, you have some 4 billion more years to worry about. That means this loop has to repeat well over 4 billion times, and that takes 1 while :-) Any ideas on how to fix this? Erik ------------------------------------------------------------------------------- "Eggheads unite! You have nothing to lose but your yolks" - Adlai Stevenson Erik Troan = http://sunsite.unc.edu/ewt/ = ewt@sunsite.unc.edu