quickjs-tart

quickjs-based runtime for wallet-core logic
Log | Files | Refs | README | LICENSE

commit 86358ef734a52b52c72ac4d2e196ce5afbeb3900
parent 2e7ee9c78e55882ea7133586ae9b2d3211bdf90a
Author: Florian Dold <dold@taler.net>
Date:   Sun,  9 Aug 2026 21:30:31 +0200

quickjs: avoid incompatible allocator callbacks

Diffstat:
Mquickjs/quickjs-libc.c | 7++++++-
Mquickjs/quickjs.c | 9+++++++--
2 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/quickjs/quickjs-libc.c b/quickjs/quickjs-libc.c @@ -227,9 +227,14 @@ typedef struct JSThreadState { static uint64_t os_pending_signals; static int (*os_poll_func)(JSContext *ctx); +static void *js_std_realloc_rt(void *opaque, void *ptr, size_t size) +{ + return js_realloc_rt(opaque, ptr, size); +} + static void js_std_dbuf_init(JSContext *ctx, DynBuf *s) { - dbuf_init2(s, JS_GetRuntime(ctx), (DynBufReallocFunc *)js_realloc_rt); + dbuf_init2(s, JS_GetRuntime(ctx), js_std_realloc_rt); } static BOOL my_isdigit(int c) diff --git a/quickjs/quickjs.c b/quickjs/quickjs.c @@ -1936,9 +1936,14 @@ static inline int js_resize_array(JSContext *ctx, void **parray, int elem_size, return 0; } +static void *js_realloc_rt_opaque(void *opaque, void *ptr, size_t size) +{ + return js_realloc_rt(opaque, ptr, size); +} + static inline void js_dbuf_init(JSContext *ctx, DynBuf *s) { - dbuf_init2(s, ctx->rt, (DynBufReallocFunc *)js_realloc_rt); + dbuf_init2(s, ctx->rt, js_realloc_rt_opaque); } static void *js_realloc_bytecode_rt(void *opaque, void *ptr, size_t size) @@ -46586,7 +46591,7 @@ static int js_string_normalize1(JSContext *ctx, uint32_t **pout_buf, if (buf_len < 0) return -1; out_len = unicode_normalize(&out_buf, buf, buf_len, n_type, - ctx->rt, (DynBufReallocFunc *)js_realloc_rt); + ctx->rt, js_realloc_rt_opaque); js_free(ctx, buf); if (out_len < 0) return -1;