diff options
author | Dmitry Volyntsev <xeioex@nginx.com> | 2022-08-10 20:04:40 -0700 |
---|---|---|
committer | Dmitry Volyntsev <xeioex@nginx.com> | 2022-08-10 20:04:40 -0700 |
commit | 836b27f618ccf81c53551d3de164bc7b33e924ad (patch) | |
tree | 781f56852f57871ae0238df88236c1476a8c08b2 /nginx/ngx_js.c | |
parent | 6861f372e04fd451a9abd50d17dc1d2708ea44d8 (diff) | |
download | njs-836b27f618ccf81c53551d3de164bc7b33e924ad.tar.gz njs-836b27f618ccf81c53551d3de164bc7b33e924ad.zip |
Stream: improved flags argument for s.on() callback methods.
Diffstat (limited to 'nginx/ngx_js.c')
-rw-r--r-- | nginx/ngx_js.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/nginx/ngx_js.c b/nginx/ngx_js.c index 903d51f2..19a5b74b 100644 --- a/nginx/ngx_js.c +++ b/nginx/ngx_js.c @@ -263,6 +263,31 @@ ngx_js_ext_constant(njs_vm_t *vm, njs_object_prop_t *prop, njs_int_t +ngx_js_ext_flags(njs_vm_t *vm, njs_object_prop_t *prop, + njs_value_t *value, njs_value_t *setval, njs_value_t *retval) +{ + uintptr_t data; + + data = (uintptr_t) njs_vm_external(vm, NJS_PROTO_ID_ANY, value); + if (data == 0) { + njs_value_undefined_set(retval); + return NJS_DECLINED; + } + + data = data & (uintptr_t) njs_vm_prop_magic32(prop); + + switch (njs_vm_prop_magic16(prop)) { + case NGX_JS_BOOLEAN: + default: + njs_value_boolean_set(retval, data); + break; + } + + return NJS_OK; +} + + +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) { |