[njs] QuickJS: fixed Buffer.concat() with a single argument.
noreply at nginx.com
noreply at nginx.com
Thu Jan 23 00:06:02 UTC 2025
details: https://github.com/nginx/njs/commit/13b37cbc9d6288b7dae79ddd73a3f152cc8ae72d
branches: master
commit: 13b37cbc9d6288b7dae79ddd73a3f152cc8ae72d
user: Dmitry Volyntsev <xeioex at nginx.com>
date: Thu, 16 Jan 2025 17:36:44 -0800
description:
QuickJS: fixed Buffer.concat() with a single argument.
---
src/qjs_buffer.c | 2 +-
test/buffer.t.js | 9 ++++++++-
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/src/qjs_buffer.c b/src/qjs_buffer.c
index 3652a07a..9840377f 100644
--- a/src/qjs_buffer.c
+++ b/src/qjs_buffer.c
@@ -158,7 +158,7 @@ static const JSCFunctionListEntry qjs_buffer_props[] = {
JS_CFUNC_MAGIC_DEF("allocUnsafe", 3, qjs_bufferobj_alloc, 1),
JS_CFUNC_DEF("byteLength", 2, qjs_buffer_byte_length),
JS_CFUNC_DEF("compare", 6, qjs_buffer_compare),
- JS_CFUNC_DEF("concat", 1, qjs_buffer_concat),
+ JS_CFUNC_DEF("concat", 2, qjs_buffer_concat),
JS_CFUNC_DEF("from", 3, qjs_buffer_from),
JS_CFUNC_DEF("isBuffer", 1, qjs_buffer_is_buffer),
JS_CFUNC_DEF("isEncoding", 1, qjs_buffer_is_encoding),
diff --git a/test/buffer.t.js b/test/buffer.t.js
index 9becf487..8e3f4ca9 100644
--- a/test/buffer.t.js
+++ b/test/buffer.t.js
@@ -79,7 +79,14 @@ let concat_tsuite = {
name: "Buffer.concat() tests",
skip: () => (!has_buffer()),
T: async (params) => {
- let r = Buffer.concat(params.buffers, params.length);
+ let r;
+
+ if (params.length) {
+ r = Buffer.concat(params.buffers, params.length);
+
+ } else {
+ r = Buffer.concat(params.buffers);
+ }
if (r.toString() !== params.expected) {
throw Error(`unexpected output "${r.toString()}" != "${params.expected}"`);
More information about the nginx-devel
mailing list