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 }