Mercurial > pidgin
comparison libpurple/protocols/qq/group_find.c @ 24095:25f62d21b3f8
disapproval of revision '8cebefbc6cd5d84acb69c74e69e8821f11dd225d'
author | Daniel Atallah <daniel.atallah@gmail.com> |
---|---|
date | Mon, 15 Sep 2008 03:04:07 +0000 |
parents | 147ada94a1d8 |
children | bcfc98c7a55f |
comparison
equal
deleted
inserted
replaced
24088:147ada94a1d8 | 24095:25f62d21b3f8 |
---|---|
108 | 108 |
109 list = qd->groups; | 109 list = qd->groups; |
110 group = NULL; | 110 group = NULL; |
111 while (list != NULL) { | 111 while (list != NULL) { |
112 group = (qq_group *) list->data; | 112 group = (qq_group *) list->data; |
113 if (group->title_utf8 == NULL) { | 113 if (group->group_name_utf8 == NULL) { |
114 continue; | 114 continue; |
115 } | 115 } |
116 if (!g_ascii_strcasecmp(purple_conversation_get_name(conv), group->title_utf8)) | 116 if (!g_ascii_strcasecmp(purple_conversation_get_name(conv), group->group_name_utf8)) |
117 break; | 117 break; |
118 list = list->next; | 118 list = list->next; |
119 } | 119 } |
120 | 120 |
121 return group; | 121 return group; |
165 list = list->next; | 165 list = list->next; |
166 } | 166 } |
167 | 167 |
168 return NULL; | 168 return NULL; |
169 } | 169 } |
170 | |
171 qq_group *qq_room_get_next(PurpleConnection *gc, guint32 room_id) | |
172 { | |
173 GList *list; | |
174 qq_group *group; | |
175 qq_data *qd; | |
176 gboolean is_find = FALSE; | |
177 | |
178 qd = (qq_data *) gc->proto_data; | |
179 | |
180 if (qd->groups == NULL) { | |
181 return NULL; | |
182 } | |
183 | |
184 if (room_id <= 0) { | |
185 return (qq_group *) qd->groups->data; | |
186 } | |
187 | |
188 list = qd->groups; | |
189 while (list != NULL) { | |
190 group = (qq_group *) list->data; | |
191 list = list->next; | |
192 if (group->id == room_id) { | |
193 is_find = TRUE; | |
194 break; | |
195 } | |
196 } | |
197 | |
198 if ( !is_find || list == NULL) { | |
199 return NULL; | |
200 } | |
201 | |
202 return (qq_group *)list->data; | |
203 } | |
204 | |
205 qq_group *qq_room_get_next_conv(PurpleConnection *gc, guint32 room_id) | |
206 { | |
207 GList *list; | |
208 qq_group *group; | |
209 qq_data *qd; | |
210 gboolean is_find; | |
211 | |
212 qd = (qq_data *) gc->proto_data; | |
213 | |
214 list = qd->groups; | |
215 if (room_id > 0) { | |
216 /* search next room */ | |
217 is_find = FALSE; | |
218 while (list != NULL) { | |
219 group = (qq_group *) list->data; | |
220 list = list->next; | |
221 if (group->id == room_id) { | |
222 is_find = TRUE; | |
223 break; | |
224 } | |
225 } | |
226 if ( !is_find || list == NULL) { | |
227 return NULL; | |
228 } | |
229 } | |
230 | |
231 is_find = FALSE; | |
232 while (list != NULL) { | |
233 group = (qq_group *) list->data; | |
234 if (group->my_role == QQ_ROOM_ROLE_YES || group->my_role == QQ_ROOM_ROLE_ADMIN) { | |
235 if (NULL != purple_find_conversation_with_account( | |
236 PURPLE_CONV_TYPE_CHAT,group->title_utf8, purple_connection_get_account(gc))) { | |
237 /* In convseration*/ | |
238 is_find = TRUE; | |
239 break; | |
240 } | |
241 } | |
242 list = list->next; | |
243 } | |
244 | |
245 if ( !is_find) { | |
246 return NULL; | |
247 } | |
248 return group; | |
249 } |