]> git.kaiwu.me - njs.git/commitdiff
Introduced njs_array_push().
authorDmitry Volyntsev <xeioex@nginx.com>
Tue, 9 Jun 2020 12:56:56 +0000 (12:56 +0000)
committerDmitry Volyntsev <xeioex@nginx.com>
Tue, 9 Jun 2020 12:56:56 +0000 (12:56 +0000)
src/njs_array.h
src/njs_vm.c

index a0daf2c11c8fb97c63a0ed7a73239c2079ac8805..a189b923e85d3f7fdcb207f5b0691cf32c2ffebb 100644 (file)
@@ -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;
 
index 9fb53b4ace04aa36dde01025425dbf9ae8f00090..15acd5d716d00d735826fdcb8b5c8a97f826cdae 100644 (file)
@@ -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));
 }