]> git.kaiwu.me - njs.git/commitdiff
Making njs_arg() available for external value methods.
authorDmitry Volyntsev <xeioex@nginx.com>
Mon, 30 Jul 2018 17:00:20 +0000 (20:00 +0300)
committerDmitry Volyntsev <xeioex@nginx.com>
Mon, 30 Jul 2018 17:00:20 +0000 (20:00 +0300)
njs/njs.h
njs/njs_function.h

index aa0d6fb571952ae752e9779cc20ae9661b2e5b8c..56a7d0d6c17ae5cb833d74a249b3c4780119ffd4 100644 (file)
--- 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);
 
index 9ca73abb2d7a627097cd1fbf19f71589614b9080..f7e8481c98a1cc691fcf33de87a21bede0fa8d5f 100644 (file)
@@ -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))