comparison libpurple/protocols/jabber/buddy.c @ 25203:c5c4faef04ff

Patch from darkrain42 Introduce a temporary variable to aid in readability
author Marcus Lundblad <ml@update.uu.se>
date Tue, 18 Nov 2008 20:22:57 +0000
parents 3d4ce9df0d48
children cac2f6203505
comparison
equal deleted inserted replaced
25202:f8e6484fa8ac 25203:c5c4faef04ff
97 if(!jb) 97 if(!jb)
98 return NULL; 98 return NULL;
99 99
100 for(l = jb->resources; l; l = l->next) 100 for(l = jb->resources; l; l = l->next)
101 { 101 {
102 JabberBuddyResource *tmp = l->data;
102 if(!jbr && !resource) { 103 if(!jbr && !resource) {
103 jbr = l->data; 104 jbr = tmp;
104 } else if(!resource) { 105 } else if(!resource) {
105 if(((JabberBuddyResource *)l->data)->priority > jbr->priority) 106 if(tmp->priority > jbr->priority)
106 jbr = l->data; 107 jbr = tmp;
107 else if(((JabberBuddyResource *)l->data)->priority == jbr->priority) { 108 else if(tmp->priority == jbr->priority) {
108 /* Determine if this resource is more available than the one we've currently chosen */ 109 /* Determine if this resource is more available than the one we've currently chosen */
109 switch(((JabberBuddyResource *)l->data)->state) { 110 switch(tmp->state) {
110 case JABBER_BUDDY_STATE_ONLINE: 111 case JABBER_BUDDY_STATE_ONLINE:
111 case JABBER_BUDDY_STATE_CHAT: 112 case JABBER_BUDDY_STATE_CHAT:
112 /* This resource is online/chatty. Prefer to one which isn't either. */ 113 /* This resource is online/chatty. Prefer to one which isn't either. */
113 if ((jbr->state != JABBER_BUDDY_STATE_ONLINE) && (jbr->state != JABBER_BUDDY_STATE_CHAT)) 114 if ((jbr->state != JABBER_BUDDY_STATE_ONLINE) && (jbr->state != JABBER_BUDDY_STATE_CHAT))
114 jbr = l->data; 115 jbr = tmp;
115 break; 116 break;
116 case JABBER_BUDDY_STATE_AWAY: 117 case JABBER_BUDDY_STATE_AWAY:
117 case JABBER_BUDDY_STATE_DND: 118 case JABBER_BUDDY_STATE_DND:
118 case JABBER_BUDDY_STATE_UNAVAILABLE: 119 case JABBER_BUDDY_STATE_UNAVAILABLE:
119 /* This resource is away/dnd/unavailable. Prefer to one which is extended away or unknown. */ 120 /* This resource is away/dnd/unavailable. Prefer to one which is extended away or unknown. */
120 if ((jbr->state == JABBER_BUDDY_STATE_XA) || 121 if ((jbr->state == JABBER_BUDDY_STATE_XA) ||
121 (jbr->state == JABBER_BUDDY_STATE_UNKNOWN) || (jbr->state == JABBER_BUDDY_STATE_ERROR)) 122 (jbr->state == JABBER_BUDDY_STATE_UNKNOWN) || (jbr->state == JABBER_BUDDY_STATE_ERROR))
122 jbr = l->data; 123 jbr = tmp;
123 break; 124 break;
124 case JABBER_BUDDY_STATE_XA: 125 case JABBER_BUDDY_STATE_XA:
125 /* This resource is extended away. That's better than unknown. */ 126 /* This resource is extended away. That's better than unknown. */
126 if ((jbr->state == JABBER_BUDDY_STATE_UNKNOWN) || (jbr->state == JABBER_BUDDY_STATE_ERROR)) 127 if ((jbr->state == JABBER_BUDDY_STATE_UNKNOWN) || (jbr->state == JABBER_BUDDY_STATE_ERROR))
127 jbr = l->data; 128 jbr = tmp;
128 break; 129 break;
129 case JABBER_BUDDY_STATE_UNKNOWN: 130 case JABBER_BUDDY_STATE_UNKNOWN:
130 case JABBER_BUDDY_STATE_ERROR: 131 case JABBER_BUDDY_STATE_ERROR:
131 /* These are never preferable. */ 132 /* These are never preferable. */
132 break; 133 break;
133 } 134 }
134 } 135 }
135 } else if(((JabberBuddyResource *)l->data)->name) { 136 } else if(tmp->name) {
136 if(!strcmp(((JabberBuddyResource *)l->data)->name, resource)) { 137 if(!strcmp(tmp->name, resource)) {
137 jbr = l->data; 138 jbr = tmp;
138 break; 139 break;
139 } 140 }
140 } 141 }
141 } 142 }
142 143