This function is a replacement for the every annoying ctime() function that literally litters SMAUG. Do a search for 'strtime' and you'll see what I mean. A couple dozen of: strtime = ctime( ¤t_time ); strtime[strlen(strtime)-1] = '\0'; Just to remove the stupid trailing \n from ctime that was added by whatever idiot decided people would want to see what time it was. As if it was so hard for people to add their own if they wanted one? Adding a single \n to the end of something is much shorter than removing one you never needed in the first place. Ok. Rant over. Anyhow, this function also changes the return slightly, so that it is on normal human time, rather than military time, which tends to be more player friendly. char *friendly_ctime( time_t *time) { static char *day[] = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }; static char *month[] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct" , "Nov" , "Dec" }; static char strtime[128]; struct tm *timet=localtime(time); sprintf( strtime, "%3s %3s %2d %02d:%02d:%02d %cM %04d", day[timet->tm_wday], month[timet->tm_mon], timet->tm_mday, timet->tm_hour == 0 ? 12 : timet->tm_hour > 12 ? timet->tm_hour-12 : timet->tm_hour, timet->tm_min, timet->tm_sec, timet->tm_hour < 12 ? 'A' : 'P', timet->tm_year+1900); return strtime; }