src/server/webdav/saxhandler.cpp

changeset 50
4d39adda7a38
parent 48
37a512d7b8f6
child 59
ab25c0a231d0
--- a/src/server/webdav/saxhandler.cpp	Sat Jan 19 20:51:16 2013 +0100
+++ b/src/server/webdav/saxhandler.cpp	Sat Jan 19 21:52:21 2013 +0100
@@ -75,9 +75,11 @@
     char *ns  = XMLString::transcode(uri);
     char *name = XMLString::transcode(localname);
     
-    if(!strcmp(ns, "DAV:") && !strcmp(name, "prop")) {
+    if(!strcmp(ns, "DAV:") && !strcmp(name, "allprop")) {
+        davrq->allprop = 1;
+    } else if(!strcmp(ns, "DAV:") && !strcmp(name, "prop")) {
         davPropTag = true;
-    } else if(davPropTag && property == NULL) {
+    } else if(davPropTag && property == NULL && !davrq->allprop) {
         property = (DavProperty*)pool_malloc(pool, sizeof(DavProperty));
         //property = (DavProperty*)malloc(sizeof(DavProperty));
         /* TODO: pool_malloc makes big mistakes!! */

mercurial