]> git.kaiwu.me - njs.git/commitdiff
Using njs_set_undefined() and njs_set_invalid() where appropriate.
authorDmitry Volyntsev <xeioex@nginx.com>
Mon, 12 Aug 2019 18:04:50 +0000 (21:04 +0300)
committerDmitry Volyntsev <xeioex@nginx.com>
Mon, 12 Aug 2019 18:04:50 +0000 (21:04 +0300)
18 files changed:
src/njs_array.c
src/njs_builtin.c
src/njs_fs.c
src/njs_function.c
src/njs_generator.c
src/njs_json.c
src/njs_object.c
src/njs_object_prop.c
src/njs_parser.c
src/njs_parser_terminal.c
src/njs_regexp.c
src/njs_shell.c
src/njs_string.c
src/njs_timer.c
src/njs_value.c
src/njs_vm.c
src/njs_vmcode.c
src/test/njs_unit_test.c

index f0805e6823c2cf8f09c362f7c7fa8744e9aba6db..1ea1a4ef9a68754fd7a456dc30168d9491493967 100644 (file)
@@ -543,7 +543,7 @@ njs_array_prototype_slice_copy(njs_vm_t *vm, njs_value_t *this,
                 ret = njs_value_property(vm, this, &name, value);
 
                 if (ret != NJS_OK) {
-                    *value = njs_value_invalid;
+                    njs_set_invalid(value);
                 }
 
                 length--;
@@ -556,7 +556,7 @@ njs_array_prototype_slice_copy(njs_vm_t *vm, njs_value_t *this,
             value = array->start;
 
             do {
-                *value++ = njs_value_invalid;
+                njs_set_invalid(value++);
                 length--;
             } while (length != 0);
         }
@@ -1398,7 +1398,7 @@ njs_array_prototype_for_each(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
         length = njs_min(length, njs_array_len(array));
     }
 
-    vm->retval = njs_value_undefined;
+    njs_set_undefined(&vm->retval);
 
     return NJS_OK;
 }
@@ -1576,7 +1576,7 @@ njs_array_prototype_find(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
         value = njs_array_start(array)[i];
 
         if (!njs_is_valid(&value)) {
-            value = njs_value_undefined;
+            njs_set_undefined(&value);
         }
 
         ret = njs_array_iterator_call(vm, function, this_arg, &value, i, array);
@@ -1624,7 +1624,7 @@ njs_array_prototype_find_index(njs_vm_t *vm, njs_value_t *args,
         value = njs_array_start(array)[i];
 
         if (!njs_is_valid(&value)) {
-            value = njs_value_undefined;
+            njs_set_undefined(&value);
         }
 
         ret = njs_array_iterator_call(vm, function, this_arg, &value, i, array);
@@ -1712,7 +1712,7 @@ njs_array_iterator_reduce(njs_vm_t *vm, njs_function_t *function,
 
     /* GC: array elt, array */
 
-    arguments[0] = njs_value_undefined;
+    njs_set_undefined(&arguments[0]);
     arguments[1] = *accumulator;
     arguments[2] = *value;
     njs_set_number(&arguments[3], n);
@@ -1924,7 +1924,7 @@ start:
                 if (njs_is_valid(&start[n])) {
 
                     if (njs_is_valid(&start[n - 1])) {
-                        arguments[0] = njs_value_undefined;
+                        njs_set_undefined(&arguments[0]);
 
                         /* GC: array elt, array */
                         arguments[1] = start[n - 1];
index 5232cc3ad2535a4c2c3a455fbd99f9f7be3b64ab..5c3b408873f692cf27f743f935e1cac8723f3aa0 100644 (file)
@@ -415,7 +415,7 @@ static njs_int_t
 njs_prototype_function(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
     njs_index_t unused)
 {
-    vm->retval = njs_value_undefined;
+    njs_set_undefined(&vm->retval);
 
     return NJS_OK;
 }
index 4bbbeec5e2070fba95842bce9b4310a7e81af640..ec67a249f371260cc39b396a0c3b97201409d565 100644 (file)
@@ -280,13 +280,13 @@ done:
             return NJS_ERROR;
         }
 
-        arguments[2] = njs_value_undefined;
+        njs_set_undefined(&arguments[2]);
 
     } else {
-        arguments[1] = njs_value_undefined;
+        njs_set_undefined(&arguments[1]);
     }
 
-    arguments[0] = njs_value_undefined;
+    njs_set_undefined(&arguments[0]);
 
     ret = njs_function_apply(vm, njs_function(callback), arguments, 3,
                              &vm->retval);
@@ -295,7 +295,7 @@ done:
         return ret;
     }
 
-    vm->retval = njs_value_undefined;
+    njs_set_undefined(&vm->retval);
 
     return NJS_OK;
 
@@ -722,10 +722,10 @@ done:
         }
 
     } else {
-        arguments[1] = njs_value_undefined;
+        njs_set_undefined(&arguments[1]);
     }
 
-    arguments[0] = njs_value_undefined;
+    njs_set_undefined(&arguments[0]);
 
     ret = njs_function_apply(vm, njs_function(callback), arguments, 2,
                              &vm->retval);
@@ -734,7 +734,7 @@ done:
         return ret;
     }
 
-    vm->retval = njs_value_undefined;
+    njs_set_undefined(&vm->retval);
 
     return NJS_OK;
 }
@@ -899,7 +899,7 @@ done:
         }
 
     } else {
-        vm->retval = njs_value_undefined;
+        njs_set_undefined(&vm->retval);
     }
 
     return NJS_OK;
index e2466b834518b9ba0c058cbde1a69111b5becafb..5a3af5312f035e1c6367d9bec2552c3b54b3a282 100644 (file)
@@ -399,7 +399,7 @@ njs_function_lambda_frame(njs_vm_t *vm, njs_function_t *function,
     }
 
     while (max_args != 0) {
-        *value++ = njs_value_undefined;
+        njs_set_undefined(value++);
         max_args--;
     }
 
index fcc8844e4a3ea229956f8eb83db1af3daf8d4208..7a2a617249d4bbe5269a5e6a7c57b0deaebe4964 100644 (file)
@@ -2477,7 +2477,7 @@ njs_generate_scope(njs_vm_t *vm, njs_generator_t *generator,
     value = (njs_value_t *) (p + size);
 
     for (n = scope_size - size; n != 0; n -= sizeof(njs_value_t)) {
-        *value++ = njs_value_undefined;
+        njs_set_undefined(value++);
     }
 
     if (vm->codes == NULL) {
index 5663681683b2216902a1c8c759130546e13de678..e81e94943c7f932a6984b3ca8f3de9eec5cba6e9 100644 (file)
@@ -271,7 +271,7 @@ njs_json_stringify(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
         }
 
     } else {
-        stringify->replacer = njs_value_undefined;
+        njs_set_undefined(&stringify->replacer);
     }
 
     stringify->space.length = 0;
@@ -1470,7 +1470,7 @@ done:
      * An empty object means empty result.
      */
     if (str.length <= njs_length("{\n\n}")) {
-        vm->retval = njs_value_undefined;
+        njs_set_undefined(&vm->retval);
         goto release;
     }
 
@@ -2417,7 +2417,7 @@ njs_vm_value_dump(njs_vm_t *vm, njs_str_t *retval, const njs_value_t *value,
     stringify->nodes = NULL;
     stringify->last = NULL;
     stringify->stack.items = 0;
-    stringify->replacer = njs_value_undefined;
+    njs_set_undefined(&stringify->replacer);
 
     if (!njs_dump_is_object(value)) {
         ret = njs_dump_value(stringify, value, console);
index b330c81562f5e4e057261527b256900e590f7b31..7994f485652bdefc3a9654d0a9a0eb632becd5f3 100644 (file)
@@ -1327,7 +1327,7 @@ njs_object_freeze(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
     value = njs_arg(args, nargs, 1);
 
     if (!njs_is_object(value)) {
-        vm->retval = njs_value_undefined;
+        njs_set_undefined(&vm->retval);
         return NJS_OK;
     }
 
@@ -1902,7 +1902,7 @@ njs_object_prototype_proto(njs_vm_t *vm, njs_value_t *value,
             }
         }
 
-        *retval = njs_value_undefined;
+        njs_set_undefined(retval);
 
         return NJS_OK;
     }
index a426d85408fb4c7446c220ba6d8c92affc28cee5..509de6d5f7f17c2dfa5a210bdbee8124f833bd1a 100644 (file)
@@ -33,8 +33,8 @@ njs_object_prop_alloc(njs_vm_t *vm, const njs_value_t *name,
         prop->enumerable = attributes;
         prop->configurable = attributes;
 
-        prop->getter = njs_value_invalid;
-        prop->setter = njs_value_invalid;
+        njs_set_invalid(&prop->getter);
+        njs_set_invalid(&prop->setter);
 
         return prop;
     }
@@ -72,7 +72,7 @@ njs_object_property(njs_vm_t *vm, const njs_value_t *value,
 
     } while (object != NULL);
 
-    *retval = njs_value_undefined;
+    njs_set_undefined(retval);
 
     return NJS_DECLINED;
 
@@ -86,7 +86,7 @@ found:
     }
 
     if (njs_is_undefined(&prop->getter)) {
-        *retval = njs_value_undefined;
+        njs_set_undefined(retval);
         return NJS_OK;
     }
 
@@ -133,7 +133,7 @@ njs_object_prop_define(njs_vm_t *vm, njs_value_t *object,
 
     case NJS_OBJECT_PROP_GETTER:
         prop->getter = *value;
-        prop->setter = njs_value_invalid;
+        njs_set_invalid(&prop->setter);
         prop->enumerable = NJS_ATTRIBUTE_TRUE;
         prop->configurable = NJS_ATTRIBUTE_TRUE;
 
@@ -141,7 +141,7 @@ njs_object_prop_define(njs_vm_t *vm, njs_value_t *object,
 
     case NJS_OBJECT_PROP_SETTER:
         prop->setter = *value;
-        prop->getter = njs_value_invalid;
+        njs_set_invalid(&prop->getter);
         prop->enumerable = NJS_ATTRIBUTE_TRUE;
         prop->configurable = NJS_ATTRIBUTE_TRUE;
 
@@ -150,15 +150,15 @@ njs_object_prop_define(njs_vm_t *vm, njs_value_t *object,
 
     if (njs_fast_path(ret == NJS_DECLINED)) {
 
-        /* 6.2.5.6 CompletePropertypropriptor */
+        /* 6.2.5.6 CompletePropertyDescriptor */
 
         if (njs_is_accessor_descriptor(prop)) {
             if (!njs_is_valid(&prop->getter)) {
-                prop->getter = njs_value_undefined;
+                njs_set_undefined(&prop->getter);
             }
 
             if (!njs_is_valid(&prop->setter)) {
-                prop->setter = njs_value_undefined;
+                njs_set_undefined(&prop->setter);
             }
 
         } else {
@@ -167,7 +167,7 @@ njs_object_prop_define(njs_vm_t *vm, njs_value_t *object,
             }
 
             if (!njs_is_valid(&prop->value)) {
-                prop->value = njs_value_undefined;
+                njs_set_undefined(&prop->value);
             }
         }
 
@@ -215,7 +215,7 @@ njs_object_prop_define(njs_vm_t *vm, njs_value_t *object,
         if (njs_is_valid(&prop->value)) {
             *prev->value.data.u.value = prop->value;
         } else {
-            *prev->value.data.u.value = njs_value_undefined;
+            njs_set_undefined(prev->value.data.u.value);
         }
 
         return NJS_OK;
@@ -259,18 +259,18 @@ njs_object_prop_define(njs_vm_t *vm, njs_value_t *object,
          */
 
         if (njs_is_data_descriptor(prev)) {
-            prev->getter = njs_value_undefined;
-            prev->setter = njs_value_undefined;
+            njs_set_undefined(&prev->getter);
+            njs_set_undefined(&prev->setter);
 
-            prev->value = njs_value_invalid;
+            njs_set_invalid(&prev->value);
             prev->writable = NJS_ATTRIBUTE_UNSET;
 
         } else {
-            prev->value = njs_value_undefined;
+            njs_set_undefined(&prev->value);
             prev->writable = NJS_ATTRIBUTE_FALSE;
 
-            prev->getter = njs_value_invalid;
-            prev->setter = njs_value_invalid;
+            njs_set_invalid(&prev->getter);
+            njs_set_invalid(&prev->setter);
         }
 
 
@@ -390,7 +390,7 @@ njs_descriptor_prop(njs_vm_t *vm, njs_object_prop_t *prop,
 
     } else {
         /* NJS_DECLINED */
-        prop->getter = njs_value_invalid;
+        njs_set_invalid(&prop->getter);
     }
 
     lhq.key = njs_str_value("set");
@@ -413,7 +413,7 @@ njs_descriptor_prop(njs_vm_t *vm, njs_object_prop_t *prop,
 
     } else {
         /* NJS_DECLINED */
-        prop->setter = njs_value_invalid;
+        njs_set_invalid(&prop->setter);
     }
 
     lhq.key = njs_str_value("value");
@@ -534,7 +534,7 @@ njs_object_prop_descriptor(njs_vm_t *vm, njs_value_t *dest,
         break;
 
     case NJS_DECLINED:
-        *dest = njs_value_undefined;
+        njs_set_undefined(dest);
         return NJS_OK;
 
     case NJS_ERROR:
index bc701b047e0e9af09b962daf2fc45a0ebbf2f65f..d3a403ecc8033c11b6b34558593118b25cf0d09a 100644 (file)
@@ -510,7 +510,7 @@ njs_parser_variable_node(njs_vm_t *vm, njs_parser_t *parser, njs_str_t *name,
         switch (type) {
 
         case NJS_VARIABLE_VAR:
-            var->value = njs_value_undefined;
+            njs_set_undefined(&var->value);
             break;
 
         default:
index 34da344f94d213690885bd19729d3eb36db0d943..0525cdcb90022e4ecd71d361ac12686ce6374b5e 100644 (file)
@@ -227,7 +227,7 @@ njs_parser_reference(njs_vm_t *vm, njs_parser_t *parser, njs_token_t token,
     case NJS_TOKEN_UNDEFINED:
         njs_thread_log_debug("JS: undefined");
 
-        node->u.value = njs_value_undefined;
+        njs_set_undefined(&node->u.value);
         break;
 
     case NJS_TOKEN_THIS:
@@ -264,7 +264,7 @@ njs_parser_reference(njs_vm_t *vm, njs_parser_t *parser, njs_token_t token,
         node->token = NJS_TOKEN_GLOBAL_THIS;
 
         if (vm->options.module) {
-            node->u.value = njs_value_undefined;
+            njs_set_undefined(&node->u.value);
             break;
         }
 
index dbf2840ce0a69fc7e83d9fdf97df1baccb5b8bd3..c488ce09f9fed642ffa54d9b1fa8da3c886edc1c 100644 (file)
@@ -994,7 +994,7 @@ njs_regexp_exec_result(njs_vm_t *vm, njs_regexp_t *regexp, njs_utf8_t utf8,
             }
 
         } else {
-            array->start[i] = njs_value_undefined;
+            njs_set_undefined(&array->start[i]);
         }
     }
 
index c28e3394ddb53aae5db6675e5d075f7c34dd75c9..7f0c6850040d86594fe76b811a3e58a2b75d90f1 100644 (file)
@@ -989,7 +989,7 @@ njs_ext_console_log(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
         njs_printf("\n");
     }
 
-    vm->retval = njs_value_undefined;
+    njs_set_undefined(&vm->retval);
 
     return NJS_OK;
 }
@@ -1021,7 +1021,7 @@ njs_ext_console_dump(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
         njs_printf("\n");
     }
 
-    vm->retval = njs_value_undefined;
+    njs_set_undefined(&vm->retval);
 
     return NJS_OK;
 }
@@ -1052,7 +1052,7 @@ njs_ext_console_help(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
 
     njs_printf("\n");
 
-    vm->retval = njs_value_undefined;
+    njs_set_undefined(&vm->retval);
 
     return NJS_OK;
 }
@@ -1076,7 +1076,7 @@ njs_ext_console_time(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
 
     console->time = njs_time();
 
-    vm->retval = njs_value_undefined;
+    njs_set_undefined(&vm->retval);
 
     return NJS_OK;
 }
@@ -1116,7 +1116,7 @@ njs_ext_console_time_end(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
         njs_printf("Timer \"default\" doesn’t exist.\n");
     }
 
-    vm->retval = njs_value_undefined;
+    njs_set_undefined(&vm->retval);
 
     return NJS_OK;
 }
index f512740c55822318b260f13c9c58db41f8c5531d..6c8b769e00cf756019029e869b74d1ef31d6386e 100644 (file)
@@ -3318,7 +3318,7 @@ njs_string_replace_regexp_function(njs_vm_t *vm, njs_value_t *args,
         return NJS_ERROR;
     }
 
-    arguments[0] = njs_value_undefined;
+    njs_set_undefined(&arguments[0]);
 
     /* Matched substring and parenthesized submatch strings. */
     for (k = 0, i = 1; i <= n; i++) {
@@ -3460,7 +3460,7 @@ njs_string_replace_search_function(njs_vm_t *vm, njs_value_t *args,
     njs_value_t  string;
     njs_value_t  arguments[4];
 
-    arguments[0] = njs_value_undefined;
+    njs_set_undefined(&arguments[0]);
 
     /* GC, args[0], args[1] */
 
index 96bb99de84c7d7928957bc75a839d3d14edfb71a..c985c86ebbad8e82b632115146122c13be18c764 100644 (file)
@@ -104,7 +104,7 @@ njs_clear_timeout(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
     njs_lvlhsh_query_t  lhq;
 
     if (njs_fast_path(nargs < 2) || !njs_is_number(&args[1])) {
-        vm->retval = njs_value_undefined;
+        njs_set_undefined(&vm->retval);
         return NJS_OK;
     }
 
@@ -123,7 +123,7 @@ njs_clear_timeout(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
         njs_del_event(vm, event, NJS_EVENT_RELEASE | NJS_EVENT_DELETE);
     }
 
-    vm->retval = njs_value_undefined;
+    njs_set_undefined(&vm->retval);
 
     return NJS_OK;
 }
index 17889c31cc287db7e20d11ce9b3fe7fa3198bc9a..f97d270a583932108bdd7187949399d74bc17072 100644 (file)
@@ -1005,7 +1005,7 @@ njs_value_property(njs_vm_t *vm, njs_value_t *value, njs_value_t *key,
             }
 
             if (njs_is_undefined(&prop->getter)) {
-                *retval = njs_value_undefined;
+                njs_set_undefined(retval);
                 break;
             }
 
@@ -1036,7 +1036,7 @@ njs_value_property(njs_vm_t *vm, njs_value_t *value, njs_value_t *key,
         break;
 
     case NJS_DECLINED:
-        *retval = njs_value_undefined;
+        njs_set_undefined(retval);
 
         return NJS_DECLINED;
 
index 158a11246e99cb99741eeedcdd770e645d4964ed..4261a4bfe6f0869b27c1168f7fe4e3fe31d015d0 100644 (file)
@@ -180,7 +180,7 @@ njs_vm_compile(njs_vm_t *vm, u_char **start, u_char *end)
         njs_arr_reset(vm->backtrace);
     }
 
-    vm->retval = njs_value_undefined;
+    njs_set_undefined(&vm->retval);
 
     ret = njs_parser(vm, parser, prev);
     if (njs_slow_path(ret != NJS_OK)) {
@@ -374,7 +374,7 @@ njs_vm_init(njs_vm_t *vm)
     }
 
     if (njs_is_null(&vm->retval)) {
-        vm->retval = njs_value_undefined;
+        njs_set_undefined(&vm->retval);
     }
 
     return NJS_OK;
index ea1dde92fdf5448f4a1cdc113c1c3c283f49c7cd..2f32f600e90dff6277021a6fbf7d39fb78aeb9b7 100644 (file)
@@ -552,7 +552,7 @@ next:
                 break;
 
             case NJS_VMCODE_VOID:
-                vm->retval = njs_value_undefined;
+                njs_set_undefined(&vm->retval);
 
                 ret = sizeof(njs_vmcode_2addr_t);
                 break;
@@ -1436,7 +1436,7 @@ njs_vmcode_instance_of(njs_vm_t *vm, njs_value_t *object,
     retval = &njs_value_false;
 
     if (njs_is_object(object)) {
-        value = njs_value_undefined;
+        njs_set_undefined(&value);
         ret = njs_value_property(vm, constructor, &prototype_string, &value);
 
         if (njs_slow_path(ret == NJS_ERROR)) {
index 47dbde06f2e485042251df59e3c7989f9a39ba60..4a0f82c9cc76c901c1d4587fe0e97fcce4120942 100644 (file)
@@ -13940,7 +13940,7 @@ njs_unit_test_method_external(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
                                        r->uri.length);
     }
 
-    vm->retval = njs_value_undefined;
+    njs_set_undefined(&vm->retval);
 
     return NJS_OK;
 }