123 // thanks to dav for some of this code |
123 // thanks to dav for some of this code |
124 CxAllocator *a = (CxAllocator*)ms->mp->allocator; |
124 CxAllocator *a = (CxAllocator*)ms->mp->allocator; |
125 node = node->children; |
125 node = node->children; |
126 |
126 |
127 cxmutstr href = {NULL, 0}; |
127 cxmutstr href = {NULL, 0}; |
128 CxMap *properties = cxHashMapCreate(a, 16); |
128 CxMap *properties = cxHashMapCreate(a, CX_STORE_POINTERS, 16); |
129 |
129 |
130 while(node) { |
130 while(node) { |
131 if(node->type == XML_ELEMENT_NODE) { |
131 if(node->type == XML_ELEMENT_NODE) { |
132 if(xstreq(node->name, "href")) { |
132 if(xstreq(node->name, "href")) { |
133 xmlNode *href_node = node->children; |
133 xmlNode *href_node = node->children; |
204 |
204 |
205 CxMempool *mp = cxBasicMempoolCreate(64); |
205 CxMempool *mp = cxBasicMempoolCreate(64); |
206 TestMultistatus *ms = cxMalloc(mp->allocator, sizeof(TestMultistatus)); |
206 TestMultistatus *ms = cxMalloc(mp->allocator, sizeof(TestMultistatus)); |
207 ms->doc = doc; |
207 ms->doc = doc; |
208 ms->mp = mp; |
208 ms->mp = mp; |
209 ms->responses = cxHashMapCreate((CxAllocator*)mp->allocator, 8); |
209 ms->responses = cxHashMapCreate((CxAllocator*)mp->allocator, CX_STORE_POINTERS, 8); |
210 |
210 |
211 // parse response |
211 // parse response |
212 xmlNode *xml_root = xmlDocGetRootElement(doc); |
212 xmlNode *xml_root = xmlDocGetRootElement(doc); |
213 xmlNode *node = xml_root->children; |
213 xmlNode *node = xml_root->children; |
214 while(node) { |
214 while(node) { |