Mercurial > pidgin.yaz
comparison src/xmlnode.c @ 11390:869cef00a947
[gaim-migrate @ 13618]
make this a little safer
committer: Tailor Script <tailor@pidgin.im>
| author | Nathan Walp <nwalp@pidgin.im> |
|---|---|
| date | Wed, 31 Aug 2005 18:37:10 +0000 |
| parents | 98de05966d6d |
| children | 0906a3e9626c |
comparison
equal
deleted
inserted
replaced
| 11389:098cfd8152bc | 11390:869cef00a947 |
|---|---|
| 403 | 403 |
| 404 | 404 |
| 405 xmlnode * | 405 xmlnode * |
| 406 xmlnode_from_str(const char *str, gssize size) | 406 xmlnode_from_str(const char *str, gssize size) |
| 407 { | 407 { |
| 408 struct _xmlnode_parser_data *xpd = g_new0(struct _xmlnode_parser_data, 1); | 408 struct _xmlnode_parser_data *xpd; |
| 409 xmlnode *ret; | 409 xmlnode *ret; |
| 410 GMarkupParseContext *context; | 410 GMarkupParseContext *context; |
| 411 gsize real_size = size == -1 ? strlen(str) : size; | 411 gsize real_size; |
| 412 | 412 |
| 413 g_return_val_if_fail(str != NULL, NULL); | |
| 414 | |
| 415 real_size = size == -1 ? strlen(str) : size; | |
| 416 xpd = g_new0(struct _xmlnode_parser_data, 1); | |
| 413 context = g_markup_parse_context_new(&xmlnode_parser, 0, xpd, NULL); | 417 context = g_markup_parse_context_new(&xmlnode_parser, 0, xpd, NULL); |
| 414 | 418 |
| 415 if(!g_markup_parse_context_parse(context, str, real_size, NULL)) { | 419 if(!g_markup_parse_context_parse(context, str, real_size, NULL)) { |
| 416 while(xpd->current && xpd->current->parent) | 420 while(xpd->current && xpd->current->parent) |
| 417 xpd->current = xpd->current->parent; | 421 xpd->current = xpd->current->parent; |
