libpurple/protocols/simple/sipmsg.c

changeset 40415
f38b64939ecb
parent 40414
744c1e9d80f1
child 40416
54c050e07348
equal deleted inserted replaced
40414:744c1e9d80f1 40415:f38b64939ecb
189 g_free(msg->target); 189 g_free(msg->target);
190 g_free(msg->body); 190 g_free(msg->body);
191 g_free(msg); 191 g_free(msg);
192 } 192 }
193 193
194 void sipmsg_remove_header(struct sipmsg *msg, const gchar *name) { 194 static gint
195 GSList *tmp = g_slist_find_custom(msg->headers, name, (GCompareFunc)g_ascii_strcasecmp); 195 compare_header_names(gconstpointer a, gconstpointer b)
196 if(tmp) { 196 {
197 const PurpleKeyValuePair *kvpa = a;
198 const gchar *name = b;
199 return g_ascii_strcasecmp(kvpa->key, name);
200 }
201
202 void
203 sipmsg_remove_header(struct sipmsg *msg, const gchar *name)
204 {
205 GSList *tmp = g_slist_find_custom(msg->headers, name, compare_header_names);
206 if (tmp) {
197 PurpleKeyValuePair *elem = tmp->data; 207 PurpleKeyValuePair *elem = tmp->data;
198 msg->headers = g_slist_delete_link(msg->headers, tmp); 208 msg->headers = g_slist_delete_link(msg->headers, tmp);
199 purple_key_value_pair_free(elem); 209 purple_key_value_pair_free(elem);
200 } 210 }
201 } 211 }
202 212
203 const gchar *sipmsg_find_header(struct sipmsg *msg, const gchar *name) { 213 const gchar *
204 GSList *tmp = g_slist_find_custom(msg->headers, name, (GCompareFunc)g_ascii_strcasecmp); 214 sipmsg_find_header(struct sipmsg *msg, const gchar *name)
205 if(tmp) { 215 {
216 GSList *tmp = g_slist_find_custom(msg->headers, name, compare_header_names);
217 if (tmp) {
206 PurpleKeyValuePair *elem = tmp->data; 218 PurpleKeyValuePair *elem = tmp->data;
207 return elem->value; 219 return elem->value;
208 } 220 }
209 return NULL; 221 return NULL;
210 } 222 }
211

mercurial