diff options
author | Thang Tran <trankimthang279@gmail.com> | 2019-12-03 23:22:08 +0100 |
---|---|---|
committer | Anna Henningsen <anna@addaleax.net> | 2019-12-12 10:05:44 -0500 |
commit | 4f523c2c1a1c4cef33a1f925cb9102d5b8a51dab (patch) | |
tree | be295cff8198607f79a2b555cb3ad940b847fa82 /test/js-native-api | |
parent | 2dff8ddafb3cd8ca6555d9e3731a1541c6a1bb2f (diff) | |
download | node-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.c | 20 |
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)); |