--- a/src/server/webdav/saxhandler.cpp Tue Mar 19 17:38:32 2013 +0100 +++ b/src/server/webdav/saxhandler.cpp Mon May 06 13:44:27 2013 +0200 @@ -88,9 +88,10 @@ size_t nslen = strlen(ns); size_t namelen = strlen(name); if(nslen > 0) { - property->xmlns = (char*)pool_malloc(pool, nslen + 1); - property->xmlns[nslen] = 0; - memcpy(property->xmlns, ns, nslen); + //property->xmlns = (char*)pool_malloc(pool, nslen + 1); + //property->xmlns[nslen] = 0; + property->xmlns = xmlnsmap_put(davrq->nsmap, ns); + //memcpy(property->xmlns, ns, nslen); } else { property->xmlns = NULL; } @@ -118,7 +119,7 @@ char *name = XMLString::transcode(localname); if(property != NULL) { - const char *xmlns = (property->xmlns) ? property->xmlns : ""; + const char *xmlns = (property->xmlns) ? property->xmlns->xmlns : ""; if(!strcmp(ns, xmlns) && !strcmp(name, property->name)) { // add property to DavRequest @@ -181,7 +182,7 @@ davPropTag = true; } else if(davPropTag) { newElement = (XmlElement*)pool_calloc(pool, 1, sizeof(XmlElement)); - newElement->name = sstr(pool_strdup(pool, name)); + newElement->name = pool_strdup(pool, name); newElement->xmlns = xmlnsmap_put(davrq->nsmap, ns); /* @@ -276,6 +277,7 @@ for(int i=0;i<length;i++) { str[i] = chars[i]; } + str[length] = 0; currentElm->content = str; currentElm->ctlen = length;