diff -r d934c2eb6a76 -r c62ea2a2133b src/server/util/util.c --- 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 #include +#include #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;