diff options
author | Zhidao HONG <z.hong@f5.com> | 2021-09-07 21:13:44 +0800 |
---|---|---|
committer | Zhidao HONG <z.hong@f5.com> | 2021-09-07 21:13:44 +0800 |
commit | a336928e1027af92d0c9bb2ccb369a3f9b53abae (patch) | |
tree | 24062e6f2e2fafbc665851797f5ec9b64c68b150 /src/nxt_var.c | |
parent | 9c1894bf7791d44c6ebd9a5637ccde10bc5da29c (diff) | |
download | unit-a336928e1027af92d0c9bb2ccb369a3f9b53abae.tar.gz unit-a336928e1027af92d0c9bb2ccb369a3f9b53abae.tar.bz2 |
Router: refactored variable pass.
Since the "pass" option supports both strings and variables, a generic
nxt_var_t structure can be used in the configuration phase, and the "name"
field in actions is redundant.
No functional changes.
Diffstat (limited to 'src/nxt_var.c')
-rw-r--r-- | src/nxt_var.c | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/src/nxt_var.c b/src/nxt_var.c index c9ab5b8a..d26d4f15 100644 --- a/src/nxt_var.c +++ b/src/nxt_var.c @@ -90,6 +90,21 @@ static uint32_t nxt_var_count; static nxt_var_handler_t *nxt_var_index; +void +nxt_var_raw(nxt_var_t *var, nxt_str_t *str) +{ + str->length = var->length; + str->start = nxt_var_raw_start(var); +} + + +nxt_bool_t +nxt_var_is_const(nxt_var_t *var) +{ + return (var->vars == 0); +} + + static nxt_int_t nxt_var_hash_test(nxt_lvlhsh_query_t *lhq, void *data) { @@ -439,9 +454,8 @@ nxt_var_query(nxt_task_t *task, nxt_var_query_t *query, nxt_var_t *var, nxt_var_sub_t *subs; nxt_var_value_t *val; - if (var->vars == 0) { - str->length = var->length; - str->start = nxt_var_raw_start(var); + if (nxt_var_is_const(var)) { + nxt_var_raw(var, str); return; } |