From 8600434b6d2701553332d67712d433cff1e8a670 Mon Sep 17 00:00:00 2001 From: Dmitry Volyntsev Date: Tue, 9 Jun 2020 12:56:56 +0000 Subject: [PATCH] Introduced njs_array_push(). --- src/njs_array.h | 14 ++++++++++++++ src/njs_vm.c | 12 +----------- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/src/njs_array.h b/src/njs_array.h index a0daf2c1..a189b923 100644 --- a/src/njs_array.h +++ b/src/njs_array.h @@ -35,6 +35,20 @@ njs_int_t njs_array_prototype_to_string(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs, njs_index_t unused); +njs_inline njs_value_t * +njs_array_push(njs_vm_t *vm, njs_array_t *array) +{ + njs_int_t ret; + + ret = njs_array_expand(vm, array, 0, 1); + if (njs_slow_path(ret != NJS_OK)) { + return NULL; + } + + return &array->start[array->length++]; +} + + extern const njs_object_init_t njs_array_instance_init; extern const njs_object_type_init_t njs_array_type_init; diff --git a/src/njs_vm.c b/src/njs_vm.c index 9fb53b4a..15acd5d7 100644 --- a/src/njs_vm.c +++ b/src/njs_vm.c @@ -934,22 +934,12 @@ njs_vm_array_alloc(njs_vm_t *vm, njs_value_t *retval, uint32_t spare) njs_value_t * njs_vm_array_push(njs_vm_t *vm, njs_value_t *value) { - njs_int_t ret; - njs_array_t *array; - if (njs_slow_path(!njs_is_array(value))) { njs_type_error(vm, "njs_vm_array_push() argument is not array"); return NULL; } - array = njs_array(value); - - ret = njs_array_expand(vm, array, 0, 1); - if (njs_slow_path(ret != NJS_OK)) { - return NULL; - } - - return &array->start[array->length++]; + return njs_array_push(vm, njs_array(value)); } -- 2.47.3