diff -r 07e827917960 -r 852014ae74a0 libpurple/log.c --- a/libpurple/log.c Thu Jan 16 13:02:42 2014 +0100 +++ b/libpurple/log.c Sat Jan 18 09:01:20 2014 -0800 @@ -753,7 +753,7 @@ { gboolean show_date; char *date; - struct tm tm; + struct tm *tm; show_date = (log->type == PURPLE_LOG_SYSTEM) || (time(NULL) > when + 20*60); @@ -763,11 +763,11 @@ if (date != NULL) return date; - tm = *(localtime(&when)); + tm = localtime(&when); if (show_date) - return g_strdup(purple_date_format_long(&tm)); + return g_strdup(purple_date_format_long(tm)); else - return g_strdup(purple_time_format(&tm)); + return g_strdup(purple_time_format(tm)); } /* NOTE: This can return msg (which you may or may not want to g_free())