Welcome! Log In Create A New Profile

Advanced

[njs] Cleanup of njs_property_query() usage.

Dmitry Volyntsev
August 06, 2019 11:00AM
details: https://hg.nginx.org/njs/rev/9dab7c4514e3
branches:
changeset: 1109:9dab7c4514e3
user: Dmitry Volyntsev <xeioex@nginx.com>
date: Tue Aug 06 17:58:37 2019 +0300
description:
Cleanup of njs_property_query() usage.

diffstat:

src/njs_object_prop.c | 6 +-----
src/njs_value.c | 14 +++++++-------
src/njs_value.h | 2 +-
3 files changed, 9 insertions(+), 13 deletions(-)

diffs (82 lines):

diff -r dda649936723 -r 9dab7c4514e3 src/njs_object_prop.c
--- a/src/njs_object_prop.c Mon Aug 05 21:17:27 2019 +0300
+++ b/src/njs_object_prop.c Tue Aug 06 17:58:37 2019 +0300
@@ -87,15 +87,11 @@ njs_object_prop_define(njs_vm_t *vm, njs
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 -r dda649936723 -r 9dab7c4514e3 src/njs_value.c
--- a/src/njs_value.c Mon Aug 05 21:17:27 2019 +0300
+++ b/src/njs_value.c Tue Aug 06 17:58:37 2019 +0300
@@ -560,10 +560,10 @@ njs_property_query(njs_vm_t *vm, njs_pro
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_pro
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,

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
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 -r dda649936723 -r 9dab7c4514e3 src/njs_value.h
--- a/src/njs_value.h Mon Aug 05 21:17:27 2019 +0300
+++ b/src/njs_value.h Tue Aug 06 17:58:37 2019 +0300
@@ -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;
_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

[njs] Cleanup of njs_property_query() usage.

Dmitry Volyntsev 286 August 06, 2019 11:00AM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 299
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready