aboutsummaryrefslogtreecommitdiff
path: root/nginx/ngx_js.c
diff options
context:
space:
mode:
authorDmitry Volyntsev <xeioex@nginx.com>2022-08-19 22:02:37 -0700
committerDmitry Volyntsev <xeioex@nginx.com>2022-08-19 22:02:37 -0700
commitb39dfd8b7b0d90fa17908f1191eda723c403edf7 (patch)
treeb60e968164f7af463cdd25d792e852288e9a7f4b /nginx/ngx_js.c
parent873fe14fc81664d1824c463adb4ffb282a12e382 (diff)
downloadnjs-b39dfd8b7b0d90fa17908f1191eda723c403edf7.tar.gz
njs-b39dfd8b7b0d90fa17908f1191eda723c403edf7.zip
Modules: improved generic external getters.
Diffstat (limited to 'nginx/ngx_js.c')
-rw-r--r--nginx/ngx_js.c28
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)
{