libpurple/protocols/jabber/roster.c

branch
cpw.darkrain42.xmpp.iq-handlers
changeset 26088
65218dd1d42e
parent 26042
4dabdb5fe213
parent 25817
09d6a40a341d
child 26707
a4f7c5d5e5ae
equal deleted inserted replaced
26071:b4bbfacd7f20 26088:65218dd1d42e
143 143
144 g_free(my_bare_jid); 144 g_free(my_bare_jid);
145 g_slist_free(buddies); 145 g_slist_free(buddies);
146 } 146 }
147 147
148 void jabber_roster_parse(JabberStream *js, xmlnode *packet) 148 void jabber_roster_parse(JabberStream *js, const char *from,
149 { 149 JabberIqType type, const char *id, xmlnode *query)
150 xmlnode *query, *item, *group; 150 {
151 const char *from = xmlnode_get_attrib(packet, "from"); 151 xmlnode *item, *group;
152 152
153 if(from) { 153 if(from) {
154 char *from_norm; 154 char *from_norm;
155 gboolean invalid; 155 gboolean invalid;
156 156
166 g_free(from_norm); 166 g_free(from_norm);
167 167
168 if(invalid) 168 if(invalid)
169 return; 169 return;
170 } 170 }
171
172 query = xmlnode_get_child(packet, "query");
173 if(!query)
174 return;
175 171
176 js->currently_parsing_roster_push = TRUE; 172 js->currently_parsing_roster_push = TRUE;
177 173
178 for(item = xmlnode_get_child(query, "item"); item; item = xmlnode_get_next_twin(item)) 174 for(item = xmlnode_get_child(query, "item"); item; item = xmlnode_get_next_twin(item))
179 { 175 {

mercurial