# HG changeset patch # User Mark Doliner # Date 1313991540 0 # Node ID 7422716de669beb7d492bea6ef5d0512c002ffad # Parent 8a55048115ab826b9342937f4b0a6adbee70745b Now that there's no speed difference between purple_notify_user_info_add_pair_html and purple_notify_user_info_prepend_pair, use the former to that we don't add items in reverse order. This is hopefully a little less error prone? It also means we won't have to create separate prepend_pair_html and prepend_pair_plaintext functions diff -r 8a55048115ab -r 7422716de669 libpurple/protocols/jabber/buddy.c --- a/libpurple/protocols/jabber/buddy.c Mon Aug 22 04:24:12 2011 +0000 +++ b/libpurple/protocols/jabber/buddy.c Mon Aug 22 05:39:00 2011 +0000 @@ -726,16 +726,39 @@ jbir = g_hash_table_lookup(jbi->resources, resource); user_info = jbi->user_info; - if (jbr && jbr->client.name) { - char *tmp = - g_strdup_printf("%s%s%s", jbr->client.name, - (jbr->client.version ? " " : ""), - (jbr->client.version ? jbr->client.version : "")); - purple_notify_user_info_prepend_pair(user_info, _("Client"), tmp); + if (jbr) { + char *purdy = NULL; + char *tmp; + char priority[12]; + const char *status_name = jabber_buddy_state_get_name(jbr->state); + + g_snprintf(priority, sizeof(priority), "%d", jbr->priority); + purple_notify_user_info_add_pair_html(user_info, _("Priority"), priority); + + if (jbr->status) { + tmp = purple_markup_escape_text(jbr->status, -1); + purdy = purple_strdup_withhtml(tmp); + g_free(tmp); + + if (purple_strequal(status_name, purdy)) + status_name = NULL; + } + + tmp = g_strdup_printf("%s%s%s", (status_name ? status_name : ""), + ((status_name && purdy) ? ": " : ""), + (purdy ? purdy : "")); + purple_notify_user_info_add_pair_html(user_info, _("Status"), tmp); + g_free(tmp); + g_free(purdy); + } else { + purple_notify_user_info_add_pair_html(user_info, _("Status"), _("Unknown")); + } - if (jbr->client.os) - purple_notify_user_info_prepend_pair(user_info, _("Operating System"), jbr->client.os); + if (jbir && jbir->idle_seconds > 0) { + char *idle = purple_str_seconds_to_string(jbir->idle_seconds); + purple_notify_user_info_add_pair_html(user_info, _("Idle"), idle); + g_free(idle); } if (jbr && jbr->tz_off != PURPLE_NO_TZ_OFF) { @@ -751,43 +774,21 @@ jbr->tz_off < 0 ? '-' : '+', abs(jbr->tz_off / (60*60)), abs((jbr->tz_off % (60*60)) / 60)); - purple_notify_user_info_prepend_pair(user_info, _("Local Time"), timestamp); + purple_notify_user_info_add_pair_html(user_info, _("Local Time"), timestamp); g_free(timestamp); } - if (jbir && jbir->idle_seconds > 0) { - char *idle = purple_str_seconds_to_string(jbir->idle_seconds); - purple_notify_user_info_prepend_pair(user_info, _("Idle"), idle); - g_free(idle); - } + if (jbr && jbr->client.name) { + char *tmp; - if (jbr) { - char *purdy = NULL; - char *tmp; - char priority[12]; - const char *status_name = jabber_buddy_state_get_name(jbr->state); - - if (jbr->status) { - tmp = purple_markup_escape_text(jbr->status, -1); - purdy = purple_strdup_withhtml(tmp); - g_free(tmp); + if (jbr->client.os) + purple_notify_user_info_add_pair_html(user_info, _("Operating System"), jbr->client.os); - if (purple_strequal(status_name, purdy)) - status_name = NULL; - } - - tmp = g_strdup_printf("%s%s%s", (status_name ? status_name : ""), - ((status_name && purdy) ? ": " : ""), - (purdy ? purdy : "")); - purple_notify_user_info_prepend_pair(user_info, _("Status"), tmp); - - g_snprintf(priority, sizeof(priority), "%d", jbr->priority); - purple_notify_user_info_prepend_pair(user_info, _("Priority"), priority); - + tmp = g_strdup_printf("%s%s%s", jbr->client.name, + (jbr->client.version ? " " : ""), + (jbr->client.version ? jbr->client.version : "")); + purple_notify_user_info_add_pair_html(user_info, _("Client"), tmp); g_free(tmp); - g_free(purdy); - } else { - purple_notify_user_info_prepend_pair(user_info, _("Status"), _("Unknown")); } }