--- libpurple/savedstatuses.c.bak 2008-05-20 23:14:47.000000000 -0400 +++ libpurple/savedstatuses.c 2008-05-21 15:27:26.000000000 -0400 @@ -65,9 +65,9 @@ char *message; /** The timestamp when this saved status was created. This must be unique. */ - time_t creation_time; + unsigned int creation_time; - time_t lastused; + unsigned int lastused; unsigned int usage_count; @@ -146,7 +146,7 @@ g_return_if_fail(status != NULL); /* Avoid using 0 because it's an invalid hash key */ - status->creation_time = creation_time != 0 ? creation_time : 1; + status->creation_time = creation_time != 0 ? (unsigned int) creation_time : 1; while (g_hash_table_lookup(creation_times, &status->creation_time) != NULL) status->creation_time++; @@ -172,9 +172,9 @@ { const PurpleSavedStatus *saved_status_a = a; const PurpleSavedStatus *saved_status_b = b; - time_t time_a = saved_status_a->lastused + + unsigned int time_a = saved_status_a->lastused + (MIN(saved_status_a->usage_count, 10) * 86400); - time_t time_b = saved_status_b->lastused + + unsigned int time_b = saved_status_b->lastused + (MIN(saved_status_b->usage_count, 10) * 86400); if (time_a > time_b) return -1; @@ -194,8 +194,7 @@ { GList *l, *next; PurpleSavedStatus *saved_status, *current_status; - int count; - time_t creation_time; + unsigned int count, creation_time; current_status = purple_savedstatus_get_current(); @@ -285,10 +284,10 @@ xmlnode_set_attrib(node, "transient", "true"); } - snprintf(buf, sizeof(buf), "%lu", status->creation_time); + snprintf(buf, sizeof(buf), "%u", status->creation_time); xmlnode_set_attrib(node, "created", buf); - snprintf(buf, sizeof(buf), "%lu", status->lastused); + snprintf(buf, sizeof(buf), "%u", status->lastused); xmlnode_set_attrib(node, "lastused", buf); snprintf(buf, sizeof(buf), "%u", status->usage_count); @@ -707,7 +706,7 @@ void purple_savedstatus_delete_by_status(PurpleSavedStatus *status) { - time_t creation_time, current, idleaway; + unsigned int creation_time, current, idleaway; g_return_if_fail(status != NULL); @@ -948,7 +947,7 @@ } PurpleSavedStatus * -purple_savedstatus_find_by_creation_time(time_t creation_time) +purple_savedstatus_find_by_creation_time(unsigned int creation_time) { GList *iter; PurpleSavedStatus *status; @@ -1048,7 +1047,7 @@ return saved_status->message; } -time_t +unsigned int purple_savedstatus_get_creation_time(const PurpleSavedStatus *saved_status) { g_return_val_if_fail(saved_status != NULL, 0); --- libpurple/savedstatuses.h.bak 2008-05-21 15:26:39.000000000 -0400 +++ libpurple/savedstatuses.h 2008-05-21 15:27:06.000000000 -0400 @@ -253,7 +253,7 @@ * * @return The saved status if found, or NULL. */ -PurpleSavedStatus *purple_savedstatus_find_by_creation_time(time_t creation_time); +PurpleSavedStatus *purple_savedstatus_find_by_creation_time(unsigned int creation_time); /** * Finds a saved status with the specified primitive and message. @@ -334,7 +334,7 @@ * * @return The timestamp when this saved status was created. */ -time_t purple_savedstatus_get_creation_time(const PurpleSavedStatus *saved_status); +unsigned int purple_savedstatus_get_creation_time(const PurpleSavedStatus *saved_status); /** * Determine if a given saved status has "substatuses," --- finch/gntprefs.c.bak 2008-05-21 15:29:02.000000000 -0400 +++ finch/gntprefs.c 2008-05-21 15:29:09.000000000 -0400 @@ -107,7 +107,7 @@ char *str; if (purple_savedstatus_is_transient(iter->data)) continue; - str = g_strdup_printf("%ld", purple_savedstatus_get_creation_time(iter->data)); + str = g_strdup_printf("%u", purple_savedstatus_get_creation_time(iter->data)); list = g_list_append(list, (char*)purple_savedstatus_get_title(iter->data)); list = g_list_append(list, str); pref_request.freestrings = g_list_prepend(pref_request.freestrings, str);