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) |