Mercurial > pidgin
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 |