# HG changeset patch # User Olaf Wintermann # Date 1782576827 -7200 # Node ID ca393d39e5cd3b12e6005b6eb24f0a2f1a2bc302 # Parent c0df332f5947b3306936cd4ef5ddadc58ad108ad add dav_session_reg_destructor diff -r c0df332f5947 -r ca393d39e5cd .hgignore --- a/.hgignore Sat Jun 27 18:01:16 2026 +0200 +++ b/.hgignore Sat Jun 27 18:13:47 2026 +0200 @@ -12,3 +12,4 @@ ^make/vs/.vs$ ^make/.*vcxproj.user$ gmon.out +.DS_Store diff -r c0df332f5947 -r ca393d39e5cd libidav/session.c --- a/libidav/session.c Sat Jun 27 18:01:16 2026 +0200 +++ b/libidav/session.c Sat Jun 27 18:13:47 2026 +0200 @@ -406,6 +406,10 @@ return cx_strdup_a(sn->mp->allocator, cx_str((char*)str)).ptr; } +void dav_session_reg_destructor(DavSession *sn, void *data, cx_destructor_func destr) { + cxMempoolRegister(sn->mp, data, destr); +} + char* dav_session_create_plain_href(DavSession *sn, const char *path) { if(!DAV_ENCRYPT_NAME(sn) && !DAV_DECRYPT_NAME(sn)) { diff -r c0df332f5947 -r ca393d39e5cd libidav/webdav.h --- a/libidav/webdav.h Sat Jun 27 18:01:16 2026 +0200 +++ b/libidav/webdav.h Sat Jun 27 18:13:47 2026 +0200 @@ -317,6 +317,7 @@ void* dav_session_realloc(DavSession *sn, void *ptr, size_t size); void dav_session_free(DavSession *sn, void *ptr); char* dav_session_strdup(DavSession *sn, const char *str); +void dav_session_reg_destructor(DavSession *sn, void *data, cx_destructor_func destr); void dav_set_effective_href(DavSession *sn, DavResource *resource); DavResource* dav_get(DavSession *sn, char *path, const char *properties);