From 09eac4cf48c92dac5ea70095987d2a30762bd95a Mon Sep 17 00:00:00 2001 From: Dmitry Volyntsev Date: Mon, 12 Aug 2019 21:04:50 +0300 Subject: [PATCH] Using njs_set_undefined() and njs_set_invalid() where appropriate. --- src/njs_array.c | 14 +++++++------- src/njs_builtin.c | 2 +- src/njs_fs.c | 16 ++++++++-------- src/njs_function.c | 2 +- src/njs_generator.c | 2 +- src/njs_json.c | 6 +++--- src/njs_object.c | 4 ++-- src/njs_object_prop.c | 40 +++++++++++++++++++-------------------- src/njs_parser.c | 2 +- src/njs_parser_terminal.c | 4 ++-- src/njs_regexp.c | 2 +- src/njs_shell.c | 10 +++++----- src/njs_string.c | 4 ++-- src/njs_timer.c | 4 ++-- src/njs_value.c | 4 ++-- src/njs_vm.c | 4 ++-- src/njs_vmcode.c | 4 ++-- src/test/njs_unit_test.c | 2 +- 18 files changed, 63 insertions(+), 63 deletions(-) diff --git a/src/njs_array.c b/src/njs_array.c index f0805e68..1ea1a4ef 100644 --- a/src/njs_array.c +++ b/src/njs_array.c @@ -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]; diff --git a/src/njs_builtin.c b/src/njs_builtin.c index 5232cc3a..5c3b4088 100644 --- a/src/njs_builtin.c +++ b/src/njs_builtin.c @@ -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; } diff --git a/src/njs_fs.c b/src/njs_fs.c index 4bbbeec5..ec67a249 100644 --- a/src/njs_fs.c +++ b/src/njs_fs.c @@ -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; diff --git a/src/njs_function.c b/src/njs_function.c index e2466b83..5a3af531 100644 --- a/src/njs_function.c +++ b/src/njs_function.c @@ -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--; } diff --git a/src/njs_generator.c b/src/njs_generator.c index fcc8844e..7a2a6172 100644 --- a/src/njs_generator.c +++ b/src/njs_generator.c @@ -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) { diff --git a/src/njs_json.c b/src/njs_json.c index 56636816..e81e9494 100644 --- a/src/njs_json.c +++ b/src/njs_json.c @@ -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); diff --git a/src/njs_object.c b/src/njs_object.c index b330c815..7994f485 100644 --- a/src/njs_object.c +++ b/src/njs_object.c @@ -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; } diff --git a/src/njs_object_prop.c b/src/njs_object_prop.c index a426d854..509de6d5 100644 --- a/src/njs_object_prop.c +++ b/src/njs_object_prop.c @@ -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: diff --git a/src/njs_parser.c b/src/njs_parser.c index bc701b04..d3a403ec 100644 --- a/src/njs_parser.c +++ b/src/njs_parser.c @@ -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: diff --git a/src/njs_parser_terminal.c b/src/njs_parser_terminal.c index 34da344f..0525cdcb 100644 --- a/src/njs_parser_terminal.c +++ b/src/njs_parser_terminal.c @@ -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; } diff --git a/src/njs_regexp.c b/src/njs_regexp.c index dbf2840c..c488ce09 100644 --- a/src/njs_regexp.c +++ b/src/njs_regexp.c @@ -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]); } } diff --git a/src/njs_shell.c b/src/njs_shell.c index c28e3394..7f0c6850 100644 --- a/src/njs_shell.c +++ b/src/njs_shell.c @@ -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; } diff --git a/src/njs_string.c b/src/njs_string.c index f512740c..6c8b769e 100644 --- a/src/njs_string.c +++ b/src/njs_string.c @@ -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] */ diff --git a/src/njs_timer.c b/src/njs_timer.c index 96bb99de..c985c86e 100644 --- a/src/njs_timer.c +++ b/src/njs_timer.c @@ -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; } diff --git a/src/njs_value.c b/src/njs_value.c index 17889c31..f97d270a 100644 --- a/src/njs_value.c +++ b/src/njs_value.c @@ -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; diff --git a/src/njs_vm.c b/src/njs_vm.c index 158a1124..4261a4bf 100644 --- a/src/njs_vm.c +++ b/src/njs_vm.c @@ -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; diff --git a/src/njs_vmcode.c b/src/njs_vmcode.c index ea1dde92..2f32f600 100644 --- a/src/njs_vmcode.c +++ b/src/njs_vmcode.c @@ -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)) { diff --git a/src/test/njs_unit_test.c b/src/test/njs_unit_test.c index 47dbde06..4a0f82c9 100644 --- a/src/test/njs_unit_test.c +++ b/src/test/njs_unit_test.c @@ -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; } -- 2.47.3