From 7ca8fb638bb0beb14348b1fd67b16504b0fc925f Mon Sep 17 00:00:00 2001 From: Dmitry Volyntsev Date: Tue, 6 Aug 2019 17:58:37 +0300 Subject: [PATCH] Cleanup of njs_property_query() usage. --- src/njs_object_prop.c | 6 +----- src/njs_value.c | 14 +++++++------- src/njs_value.h | 2 +- 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/src/njs_object_prop.c b/src/njs_object_prop.c index 42c71009..14b2e648 100644 --- a/src/njs_object_prop.c +++ b/src/njs_object_prop.c @@ -87,15 +87,11 @@ njs_object_prop_define(njs_vm_t *vm, njs_value_t *object, njs_object_prop_t *prop, *prev; njs_property_query_t pq; - njs_string_get(name, &pq.lhq.key); - pq.lhq.key_hash = njs_djb_hash(pq.lhq.key.start, pq.lhq.key.length); - pq.lhq.proto = &njs_object_hash_proto; - njs_property_query_init(&pq, NJS_PROPERTY_QUERY_SET, 1); ret = njs_property_query(vm, &pq, object, name); - if (ret != NJS_OK && ret != NJS_DECLINED) { + if (njs_slow_path(ret == NJS_ERROR)) { return ret; } diff --git a/src/njs_value.c b/src/njs_value.c index b92a69c3..4dd57e7d 100644 --- a/src/njs_value.c +++ b/src/njs_value.c @@ -560,10 +560,10 @@ njs_property_query(njs_vm_t *vm, njs_property_query_t *pq, njs_value_t *value, case NJS_UNDEFINED: case NJS_NULL: default: - ret = njs_primitive_value_to_string(vm, &pq->value, key); + ret = njs_primitive_value_to_string(vm, &pq->key, key); if (njs_fast_path(ret == NJS_OK)) { - njs_string_get(&pq->value, &pq->lhq.key); + njs_string_get(&pq->key, &pq->lhq.key); njs_type_error(vm, "cannot get property \"%V\" of undefined", &pq->lhq.key); return NJS_ERROR; @@ -574,11 +574,11 @@ njs_property_query(njs_vm_t *vm, njs_property_query_t *pq, njs_value_t *value, return NJS_ERROR; } - ret = njs_primitive_value_to_string(vm, &pq->value, key); + ret = njs_primitive_value_to_string(vm, &pq->key, key); if (njs_fast_path(ret == NJS_OK)) { - njs_string_get(&pq->value, &pq->lhq.key); + njs_string_get(&pq->key, &pq->lhq.key); pq->lhq.key_hash = njs_djb_hash(pq->lhq.key.start, pq->lhq.key.length); if (obj == NULL) { @@ -765,8 +765,8 @@ njs_string_property_query(njs_vm_t *vm, njs_property_query_t *pq, if (pq->query != NJS_PROPERTY_QUERY_GET) { /* pq->lhq.key is used by NJS_VMCODE_PROPERTY_SET for TypeError */ - njs_uint32_to_string(&pq->value, index); - njs_string_get(&pq->value, &pq->lhq.key); + njs_uint32_to_string(&pq->key, index); + njs_string_get(&pq->key, &pq->lhq.key); } return NJS_OK; @@ -1103,7 +1103,7 @@ njs_value_property_set(njs_vm_t *vm, njs_value_t *value, njs_value_t *key, return NJS_ERROR; } - prop = njs_object_prop_alloc(vm, &pq.value, &njs_value_undefined, 1); + prop = njs_object_prop_alloc(vm, &pq.key, &njs_value_undefined, 1); if (njs_slow_path(prop == NULL)) { return NJS_ERROR; } diff --git a/src/njs_value.h b/src/njs_value.h index 6682dbd4..1896f00b 100644 --- a/src/njs_value.h +++ b/src/njs_value.h @@ -348,7 +348,7 @@ typedef struct { const njs_extern_t *ext_proto; uint32_t ext_index; - njs_value_t value; + njs_value_t key; njs_object_t *prototype; njs_object_prop_t *own_whiteout; uint8_t query; -- 2.47.3