src/server/util/util.c

branch
webdav
changeset 338
c62ea2a2133b
parent 285
96e53bd94958
child 382
9e2289c77b04
--- a/src/server/util/util.c	Sat May 07 14:14:20 2022 +0200
+++ b/src/server/util/util.c	Sat May 07 15:07:01 2022 +0200
@@ -55,6 +55,7 @@
 #include "../public/nsapi.h"
 #include <ucx/string.h>
 #include <ucx/mempool.h>
+#include <ucx/utils.h>
 
 #include "pblock.h"
 #include "util.h"
@@ -288,6 +289,24 @@
     return vsnprintf(s, n, fmt, args);
 }
 
+NSAPI_PUBLIC int util_vasprintf(pool_handle_t *pool, char **s, const char *fmt, 
+                                va_list args)
+{
+    UcxAllocator a = util_pool_allocator(pool);
+    va_list ap;
+    va_copy(ap, args);
+    sstr_t str = ucx_vasprintf(&a, fmt, ap);
+    *s = str.ptr;
+    return str.length;
+}
+
+NSAPI_PUBLIC int util_asprintf(pool_handle_t *pool, char **s, const char *fmt, ...)
+{
+    va_list args;
+    va_start(args, fmt);
+    return util_vasprintf(pool, s, fmt, args);
+}
+
 NSAPI_PUBLIC int util_vsprintf(char *s, register const char *fmt, va_list args)
 {
     return vsprintf(s, fmt, args);
@@ -433,7 +452,7 @@
 }
 
 NSAPI_PUBLIC char* util_parent_path(const char *path) {
-    char *name = util_resource_name((char*)path);
+    char *name = (char*)util_resource_name((char*)path);
     size_t namelen = strlen(name);
     size_t pathlen = strlen(path);
     size_t parentlen = pathlen - namelen;

mercurial