# HG changeset patch # User Marcus Lundblad # Date 1227039777 0 # Node ID c5c4faef04ffab6fef1ff007c5c5b6ccc8849224 # Parent f8e6484fa8ac5b0576bbc7e1623e2671410a7fcc Patch from darkrain42 Introduce a temporary variable to aid in readability diff -r f8e6484fa8ac -r c5c4faef04ff libpurple/protocols/jabber/buddy.c --- a/libpurple/protocols/jabber/buddy.c Mon Nov 17 23:18:12 2008 +0000 +++ b/libpurple/protocols/jabber/buddy.c Tue Nov 18 20:22:57 2008 +0000 @@ -99,19 +99,20 @@ for(l = jb->resources; l; l = l->next) { + JabberBuddyResource *tmp = l->data; if(!jbr && !resource) { - jbr = l->data; + jbr = tmp; } else if(!resource) { - if(((JabberBuddyResource *)l->data)->priority > jbr->priority) - jbr = l->data; - else if(((JabberBuddyResource *)l->data)->priority == jbr->priority) { + if(tmp->priority > jbr->priority) + jbr = tmp; + else if(tmp->priority == jbr->priority) { /* Determine if this resource is more available than the one we've currently chosen */ - switch(((JabberBuddyResource *)l->data)->state) { + switch(tmp->state) { case JABBER_BUDDY_STATE_ONLINE: case JABBER_BUDDY_STATE_CHAT: /* This resource is online/chatty. Prefer to one which isn't either. */ if ((jbr->state != JABBER_BUDDY_STATE_ONLINE) && (jbr->state != JABBER_BUDDY_STATE_CHAT)) - jbr = l->data; + jbr = tmp; break; case JABBER_BUDDY_STATE_AWAY: case JABBER_BUDDY_STATE_DND: @@ -119,12 +120,12 @@ /* This resource is away/dnd/unavailable. Prefer to one which is extended away or unknown. */ if ((jbr->state == JABBER_BUDDY_STATE_XA) || (jbr->state == JABBER_BUDDY_STATE_UNKNOWN) || (jbr->state == JABBER_BUDDY_STATE_ERROR)) - jbr = l->data; + jbr = tmp; break; case JABBER_BUDDY_STATE_XA: /* This resource is extended away. That's better than unknown. */ if ((jbr->state == JABBER_BUDDY_STATE_UNKNOWN) || (jbr->state == JABBER_BUDDY_STATE_ERROR)) - jbr = l->data; + jbr = tmp; break; case JABBER_BUDDY_STATE_UNKNOWN: case JABBER_BUDDY_STATE_ERROR: @@ -132,9 +133,9 @@ break; } } - } else if(((JabberBuddyResource *)l->data)->name) { - if(!strcmp(((JabberBuddyResource *)l->data)->name, resource)) { - jbr = l->data; + } else if(tmp->name) { + if(!strcmp(tmp->name, resource)) { + jbr = tmp; break; } }