Mercurial > pidgin
comparison src/protocols/jabber/xmlnode.c @ 7075:4e5654931401
[gaim-migrate @ 7640]
this is how this function is supposed to behave
committer: Tailor Script <tailor@pidgin.im>
| author | Nathan Walp <nwalp@pidgin.im> |
|---|---|
| date | Tue, 30 Sep 2003 17:14:14 +0000 |
| parents | 67c4e9d39242 |
| children | ec7c5aead3d7 |
comparison
equal
deleted
inserted
replaced
| 7074:c6807437dcd7 | 7075:4e5654931401 |
|---|---|
| 208 } | 208 } |
| 209 | 209 |
| 210 char * | 210 char * |
| 211 xmlnode_get_data(xmlnode *node) | 211 xmlnode_get_data(xmlnode *node) |
| 212 { | 212 { |
| 213 GString *str; | 213 GString *str = NULL; |
| 214 char *ret; | 214 char *ret = NULL; |
| 215 xmlnode *c; | 215 xmlnode *c; |
| 216 | 216 |
| 217 g_return_val_if_fail(node != NULL, NULL); | 217 g_return_val_if_fail(node != NULL, NULL); |
| 218 | 218 |
| 219 str = g_string_new(""); | |
| 220 | 219 |
| 221 for(c = node->child; c; c = c->next) { | 220 for(c = node->child; c; c = c->next) { |
| 222 if(c->type == NODE_TYPE_DATA) | 221 if(c->type == NODE_TYPE_DATA) { |
| 222 if(!str) | |
| 223 str = g_string_new(""); | |
| 223 str = g_string_append_len(str, c->data, c->data_sz); | 224 str = g_string_append_len(str, c->data, c->data_sz); |
| 224 } | 225 } |
| 225 | 226 } |
| 226 ret = str->str; | 227 |
| 227 g_string_free(str, FALSE); | 228 if(str) { |
| 229 ret = str->str; | |
| 230 g_string_free(str, FALSE); | |
| 231 } | |
| 228 | 232 |
| 229 return ret; | 233 return ret; |
| 230 } | 234 } |
| 231 | 235 |
| 232 char *xmlnode_to_str(xmlnode *node) | 236 char *xmlnode_to_str(xmlnode *node) |
