Okay, this is what is going on as far as I can surmise:
The game runs perfectly fine right up until 14 o'clock PM. After that hour, it resets to 1 o'clock PM and doesn't change to AM. The days do not change and neither does the month. There's something wrong with calendar.c, but I don't know what.
Maybe it's something with this string?
ch_printf( ch, "It is %d o'clock %s, Day of %s, %d%s day in the Month of %s.\n\r"
"It is the %s season, in the year %d.\n\r"
"The mud started up at: %s\n\r"
"The system time (Pacific): %s\n\r",
(time_info.hour % sysdata.hournoon == 0) ? sysdata.hournoon : time_info.hour % sysdata.hournoon,
time_info.hour >= sysdata.hournoon ? "pm" : "am", day_name[(time_info.day) % sysdata.daysperweek], day, suf,
month_name[time_info.month], season_name[time_info.season], time_info.year, str_boot_time, c_time( current_time, -1 ) );
If it helps, I'm currently compiling under cygwin.