From: Dmitry Volyntsev Date: Mon, 30 Jul 2018 17:00:20 +0000 (+0300) Subject: Making njs_arg() available for external value methods. X-Git-Tag: 0.2.3~2 X-Git-Url: http://git.kaiwu.me/%7B@url%7D?a=commitdiff_plain;h=55f6dca8b2929984094a8a6f3345ba2433bdfdef;p=njs.git Making njs_arg() available for external value methods. --- diff --git a/njs/njs.h b/njs/njs.h index aa0d6fb5..56a7d0d6 100644 --- a/njs/njs.h +++ b/njs/njs.h @@ -44,6 +44,13 @@ typedef struct { #define njs_argument(args, n) \ (njs_value_t *) ((u_char *) args + n * 16) + +extern const njs_value_t njs_value_void; + +#define njs_arg(args, nargs, n) \ + (njs_value_t *) ((n < nargs) ? njs_argument(args, n) \ + : &njs_value_void) + #define njs_value_assign(dst, src) \ *((njs_opaque_value_t *) dst) = *((njs_opaque_value_t *) src); diff --git a/njs/njs_function.h b/njs/njs_function.h index 9ca73abb..f7e8481c 100644 --- a/njs/njs_function.h +++ b/njs/njs_function.h @@ -40,9 +40,6 @@ struct njs_function_lambda_s { }; -#define njs_arg(args, nargs, n) \ - ((n < nargs) ? &(args)[n] : &njs_value_void) - /* The frame size must be aligned to njs_value_t. */ #define NJS_NATIVE_FRAME_SIZE \ nxt_align_size(sizeof(njs_native_frame_t), sizeof(njs_value_t))