diff options
Diffstat (limited to 'modules/dav/main/props.c')
-rw-r--r-- | modules/dav/main/props.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/modules/dav/main/props.c b/modules/dav/main/props.c index 8b0e1212d8..37c5666ac1 100644 --- a/modules/dav/main/props.c +++ b/modules/dav/main/props.c @@ -795,10 +795,18 @@ DAV_DECLARE(dav_get_props_result) dav_get_props(dav_propdb *propdb, apr_text_header hdr_ns = { 0 }; int have_good = 0; dav_get_props_result result = { 0 }; + dav_liveprop_elem *element; char *marks_liveprop; dav_xmlns_info *xi; int xi_filled = 0; + /* we lose both the document and the element when calling (insert_prop), + * make these available in the pool. + */ + element = apr_pcalloc(propdb->resource->pool, sizeof(dav_liveprop_elem)); + element->doc = doc; + apr_pool_userdata_setn(element, DAV_PROP_ELEMENT, NULL, propdb->resource->pool); + /* ### NOTE: we should pass in TWO buffers -- one for keys, one for the marks */ @@ -822,6 +830,8 @@ DAV_DECLARE(dav_get_props_result) dav_get_props(dav_propdb *propdb, dav_prop_insert inserted; dav_prop_name name; + element->elem = elem; + /* ** First try live property providers; if they don't handle ** the property, then try looking it up in the propdb. |