Mercurial > pidgin
comparison src/xmlnode.c @ 14035:8bda65b88e49
[gaim-migrate @ 16638]
A bunch of small changes. Mostly remove "if not null" checks before
calling g_free, g_list_free, g_slist_free and g_strdup. Also use
g_list_foreach() to call g_free to free strings in an array. And
some whitespace changes here and there.
committer: Tailor Script <tailor@pidgin.im>
| author | Mark Doliner <mark@kingant.net> |
|---|---|
| date | Sat, 05 Aug 2006 08:27:39 +0000 |
| parents | 3c6d0c24179a |
| children | d38d8716426c |
comparison
equal
deleted
inserted
replaced
| 14034:0839a7b71325 | 14035:8bda65b88e49 |
|---|---|
| 46 static xmlnode* | 46 static xmlnode* |
| 47 new_node(const char *name, XMLNodeType type) | 47 new_node(const char *name, XMLNodeType type) |
| 48 { | 48 { |
| 49 xmlnode *node = g_new0(xmlnode, 1); | 49 xmlnode *node = g_new0(xmlnode, 1); |
| 50 | 50 |
| 51 if(name) | 51 node->name = g_strdup(name); |
| 52 node->name = g_strdup(name); | |
| 53 node->type = type; | 52 node->type = type; |
| 54 | 53 |
| 55 return node; | 54 return node; |
| 56 } | 55 } |
| 57 | 56 |
| 179 void xmlnode_set_namespace(xmlnode *node, const char *xmlns) | 178 void xmlnode_set_namespace(xmlnode *node, const char *xmlns) |
| 180 { | 179 { |
| 181 #ifdef HAVE_LIBXML | 180 #ifdef HAVE_LIBXML |
| 182 g_return_if_fail(node != NULL); | 181 g_return_if_fail(node != NULL); |
| 183 | 182 |
| 184 if (node->namespace) | 183 g_free(node->namespace); |
| 185 g_free(node->namespace); | |
| 186 | |
| 187 node->namespace = g_strdup(xmlns); | 184 node->namespace = g_strdup(xmlns); |
| 188 #else | 185 #else |
| 189 return xmlnode_set_attrib(node, "xmlns", xmlns); | 186 xmlnode_set_attrib(node, "xmlns", xmlns); |
| 190 #endif | 187 #endif |
| 191 } | 188 } |
| 192 | 189 |
| 193 const char *xmlnode_get_namespace(xmlnode *node) | 190 const char *xmlnode_get_namespace(xmlnode *node) |
| 194 { | 191 { |
| 213 y = x->next; | 210 y = x->next; |
| 214 xmlnode_free(x); | 211 xmlnode_free(x); |
| 215 x = y; | 212 x = y; |
| 216 } | 213 } |
| 217 | 214 |
| 218 if(node->name) | 215 g_free(node->name); |
| 219 g_free(node->name); | 216 g_free(node->data); |
| 220 if(node->data) | 217 #ifdef HAVE_LIBXML |
| 221 g_free(node->data); | 218 g_free(node->namespace); |
| 222 #ifdef HAVE_LIBXML | |
| 223 if(node->namespace) | |
| 224 g_free(node->namespace); | |
| 225 #endif | 219 #endif |
| 226 g_free(node); | 220 g_free(node); |
| 227 } | 221 } |
| 228 | 222 |
| 229 xmlnode* | 223 xmlnode* |
| 309 if (node->namespace) { | 303 if (node->namespace) { |
| 310 char *namespace = g_markup_escape_text(node->namespace, -1); | 304 char *namespace = g_markup_escape_text(node->namespace, -1); |
| 311 g_string_append_printf(text, " xmlns='%s'", namespace); | 305 g_string_append_printf(text, " xmlns='%s'", namespace); |
| 312 g_free(namespace); | 306 g_free(namespace); |
| 313 } | 307 } |
| 314 #endif | 308 #endif |
| 315 for(c = node->child; c; c = c->next) | 309 for(c = node->child; c; c = c->next) |
| 316 { | 310 { |
| 317 if(c->type == XMLNODE_TYPE_ATTRIB) { | 311 if(c->type == XMLNODE_TYPE_ATTRIB) { |
| 318 esc = g_markup_escape_text(c->name, -1); | 312 esc = g_markup_escape_text(c->name, -1); |
| 319 esc2 = g_markup_escape_text(c->data, -1); | 313 esc2 = g_markup_escape_text(c->data, -1); |
| 351 g_string_append_printf(text, "/>%s", formatting ? NEWLINE_S : ""); | 345 g_string_append_printf(text, "/>%s", formatting ? NEWLINE_S : ""); |
| 352 } | 346 } |
| 353 | 347 |
| 354 g_free(node_name); | 348 g_free(node_name); |
| 355 | 349 |
| 356 if(tab) | 350 g_free(tab); |
| 357 g_free(tab); | |
| 358 | 351 |
| 359 if(len) | 352 if(len) |
| 360 *len = text->len; | 353 *len = text->len; |
| 361 | 354 |
| 362 return g_string_free(text, FALSE); | 355 return g_string_free(text, FALSE); |
| 420 xpd->current = node; | 413 xpd->current = node; |
| 421 } | 414 } |
| 422 } | 415 } |
| 423 | 416 |
| 424 static void | 417 static void |
| 425 xmlnode_parser_element_end_libxml(void *user_data, const xmlChar *element_name, | 418 xmlnode_parser_element_end_libxml(void *user_data, const xmlChar *element_name, |
| 426 const xmlChar *prefix, const xmlChar *namespace) | 419 const xmlChar *prefix, const xmlChar *namespace) |
| 427 { | 420 { |
| 428 struct _xmlnode_parser_data *xpd = user_data; | 421 struct _xmlnode_parser_data *xpd = user_data; |
| 429 | 422 |
| 430 if(!element_name || !xpd->current) | 423 if(!element_name || !xpd->current) |
