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)