| 107 |
107 |
| 108 g_return_if_fail(node != NULL); |
108 g_return_if_fail(node != NULL); |
| 109 g_return_if_fail(data != NULL); |
109 g_return_if_fail(data != NULL); |
| 110 g_return_if_fail(size != 0); |
110 g_return_if_fail(size != 0); |
| 111 |
111 |
| 112 real_size = size == -1 ? strlen(data) : size; |
112 real_size = size == -1 ? strlen(data) : (gsize)size; |
| 113 |
113 |
| 114 child = new_node(NULL, XMLNODE_TYPE_DATA); |
114 child = new_node(NULL, XMLNODE_TYPE_DATA); |
| 115 |
115 |
| 116 child->data = g_memdup(data, real_size); |
116 child->data = g_memdup(data, real_size); |
| 117 child->data_sz = real_size; |
117 child->data_sz = real_size; |
| 709 xmlnode *ret; |
709 xmlnode *ret; |
| 710 gsize real_size; |
710 gsize real_size; |
| 711 |
711 |
| 712 g_return_val_if_fail(str != NULL, NULL); |
712 g_return_val_if_fail(str != NULL, NULL); |
| 713 |
713 |
| 714 real_size = size < 0 ? strlen(str) : size; |
714 real_size = size < 0 ? strlen(str) : (gsize)size; |
| 715 xpd = g_new0(struct _xmlnode_parser_data, 1); |
715 xpd = g_new0(struct _xmlnode_parser_data, 1); |
| 716 |
716 |
| 717 if (xmlSAXUserParseMemory(&xmlnode_parser_libxml, xpd, str, real_size) < 0) { |
717 if (xmlSAXUserParseMemory(&xmlnode_parser_libxml, xpd, str, real_size) < 0) { |
| 718 while(xpd->current && xpd->current->parent) |
718 while(xpd->current && xpd->current->parent) |
| 719 xpd->current = xpd->current->parent; |
719 xpd->current = xpd->current->parent; |