diff options
author | Jo-Philipp Wich <jo@mein.io> | 2020-09-13 21:37:06 +0200 |
---|---|---|
committer | Jo-Philipp Wich <jo@mein.io> | 2020-09-13 21:37:06 +0200 |
commit | 8001ced3a088fc26a8c4e60dcd31dbba6c7b0eba (patch) | |
tree | 82ab4fbf9162d35b38ca26042e79e8502c03cd1c /eval.c | |
parent | 6778d654de4a2a97254684a8418f4464ec163a64 (diff) |
eval: make key argument to ut_getref() optional
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'eval.c')
-rw-r--r-- | eval.c | 12 |
1 files changed, 8 insertions, 4 deletions
@@ -298,12 +298,14 @@ ut_getref(struct ut_state *state, uint32_t off, struct json_object **key) uint8_t i; if (op && op->type == T_DOT) { - *key = off2 ? ut_get_op(state, off2)->val : NULL; + if (key) + *key = off2 ? ut_get_op(state, off2)->val : NULL; return ut_execute_op(state, off1); } else if (op && op->type == T_LBRACK && op->is_postfix) { - *key = off2 ? ut_execute_op(state, off2) : NULL; + if (key) + *key = off2 ? ut_execute_op(state, off2) : NULL; return ut_execute_op(state, off1); } @@ -323,12 +325,14 @@ ut_getref(struct ut_state *state, uint32_t off, struct json_object **key) scope = next; } - *key = op->val; + if (key) + *key = op->val; return json_object_get(scope); } else { - *key = NULL; + if (key) + *key = NULL; return NULL; } |