| 388 | } |
| 389 | |
| 390 | pn_data_t *pn_data(size_t capacity) |
| 391 | { |
| 392 | static const pn_class_t clazz = PN_CLASS(pn_data); |
| 393 | pn_data_t *data = (pn_data_t *) pn_class_new(&clazz, sizeof(pn_data_t)); |
| 394 | data->capacity = capacity; |
| 395 | data->size = 0; |
| 396 | data->nodes = capacity ? (pni_node_t *) pni_mem_suballocate(&clazz, data, capacity * sizeof(pni_node_t)) : NULL; |
| 397 | data->buf = NULL; |
| 398 | data->parent = 0; |
| 399 | data->current = 0; |
| 400 | data->base_parent = 0; |
| 401 | data->base_current = 0; |
| 402 | data->error = NULL; |
| 403 | return data; |
| 404 | } |
| 405 | |
| 406 | void pn_data_free(pn_data_t *data) |
| 407 | { |