summaryrefslogtreecommitdiff
path: root/test/js-native-api
diff options
context:
space:
mode:
authorThang Tran <trankimthang279@gmail.com>2019-12-03 23:22:08 +0100
committerAnna Henningsen <anna@addaleax.net>2019-12-12 10:05:44 -0500
commit4f523c2c1a1c4cef33a1f925cb9102d5b8a51dab (patch)
treebe295cff8198607f79a2b555cb3ad940b847fa82 /test/js-native-api
parent2dff8ddafb3cd8ca6555d9e3731a1541c6a1bb2f (diff)
downloadnode-new-4f523c2c1a1c4cef33a1f925cb9102d5b8a51dab.tar.gz
src: migrate to new V8 ArrayBuffer API
ArrayBuffer without BackingStore will soon be deprecated. Fixes:https://github.com/nodejs/node/issues/30529 PR-URL: https://github.com/nodejs/node/pull/30782 Fixes: https://github.com/nodejs/node/issues/30529 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Rich Trott <rtrott@gmail.com>
Diffstat (limited to 'test/js-native-api')
-rw-r--r--test/js-native-api/test_typedarray/test_typedarray.c20
1 files changed, 16 insertions, 4 deletions
diff --git a/test/js-native-api/test_typedarray/test_typedarray.c b/test/js-native-api/test_typedarray/test_typedarray.c
index d8b64d06c0..66b1f9019c 100644
--- a/test/js-native-api/test_typedarray/test_typedarray.c
+++ b/test/js-native-api/test_typedarray/test_typedarray.c
@@ -1,6 +1,7 @@
#define NAPI_EXPERIMENTAL
#include <js_native_api.h>
#include <string.h>
+#include <stdlib.h>
#include "../common.h"
static napi_value Multiply(napi_env env, napi_callback_info info) {
@@ -74,22 +75,33 @@ static napi_value Multiply(napi_env env, napi_callback_info info) {
return output_array;
}
+static void FinalizeCallback(napi_env env,
+ void* finalize_data,
+ void* finalize_hint)
+{
+ free(finalize_data);
+}
+
static napi_value External(napi_env env, napi_callback_info info) {
- static int8_t externalData[] = {0, 1, 2};
+ const uint8_t nElem = 3;
+ int8_t* externalData = malloc(nElem*sizeof(int8_t));
+ externalData[0] = 0;
+ externalData[1] = 1;
+ externalData[2] = 2;
napi_value output_buffer;
NAPI_CALL(env, napi_create_external_arraybuffer(
env,
externalData,
- sizeof(externalData),
- NULL, // finalize_callback
+ nElem*sizeof(int8_t),
+ FinalizeCallback,
NULL, // finalize_hint
&output_buffer));
napi_value output_array;
NAPI_CALL(env, napi_create_typedarray(env,
napi_int8_array,
- sizeof(externalData) / sizeof(int8_t),
+ nElem,
output_buffer,
0,
&output_array));