diff options
author | Dmitry Volyntsev <xeioex@nginx.com> | 2022-08-19 22:02:37 -0700 |
---|---|---|
committer | Dmitry Volyntsev <xeioex@nginx.com> | 2022-08-19 22:02:37 -0700 |
commit | b39dfd8b7b0d90fa17908f1191eda723c403edf7 (patch) | |
tree | b60e968164f7af463cdd25d792e852288e9a7f4b /nginx/ngx_js.c | |
parent | 873fe14fc81664d1824c463adb4ffb282a12e382 (diff) | |
download | njs-b39dfd8b7b0d90fa17908f1191eda723c403edf7.tar.gz njs-b39dfd8b7b0d90fa17908f1191eda723c403edf7.zip |
Modules: improved generic external getters.
Diffstat (limited to 'nginx/ngx_js.c')
-rw-r--r-- | nginx/ngx_js.c | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/nginx/ngx_js.c b/nginx/ngx_js.c index 19a5b74b..534232f4 100644 --- a/nginx/ngx_js.c +++ b/nginx/ngx_js.c @@ -34,6 +34,7 @@ static njs_external_t ngx_js_ext_core[] = { .u.property = { .handler = ngx_js_ext_constant, .magic32 = NGX_LOG_INFO, + .magic16 = NGX_JS_NUMBER, } }, @@ -43,6 +44,7 @@ static njs_external_t ngx_js_ext_core[] = { .u.property = { .handler = ngx_js_ext_constant, .magic32 = NGX_LOG_WARN, + .magic16 = NGX_JS_NUMBER, } }, @@ -52,6 +54,7 @@ static njs_external_t ngx_js_ext_core[] = { .u.property = { .handler = ngx_js_ext_constant, .magic32 = NGX_LOG_ERR, + .magic16 = NGX_JS_NUMBER, } }, @@ -256,7 +259,20 @@ njs_int_t ngx_js_ext_constant(njs_vm_t *vm, njs_object_prop_t *prop, njs_value_t *value, njs_value_t *setval, njs_value_t *retval) { - njs_value_number_set(retval, njs_vm_prop_magic32(prop)); + uint32_t magic32; + + magic32 = njs_vm_prop_magic32(prop); + + switch (njs_vm_prop_magic16(prop)) { + case NGX_JS_NUMBER: + njs_value_number_set(retval, magic32); + break; + + case NGX_JS_BOOLEAN: + default: + njs_value_boolean_set(retval, magic32); + break; + } return NJS_OK; } @@ -288,16 +304,6 @@ ngx_js_ext_flags(njs_vm_t *vm, njs_object_prop_t *prop, njs_int_t -ngx_js_ext_boolean(njs_vm_t *vm, njs_object_prop_t *prop, - njs_value_t *value, njs_value_t *setval, njs_value_t *retval) -{ - njs_value_boolean_set(retval, njs_vm_prop_magic32(prop)); - - return NJS_OK; -} - - -njs_int_t ngx_js_ext_log(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs, njs_index_t level) { |