if (update && ((token->num > *ret_num) || (token->num < update->num))) *token = *update;
static int httpd__match_iter_nxt(Conf_parse *conf, Conf_token *token,                                 Vstr_ref    **ret_ref,                                 unsigned int *ret_num){  Conf_token *update = NULL;  if (!*ret_num)    token->num = 0;  else  {    if (*ret_ref)    {      update = (*ret_ref)->ptr;      *token = *update;      if (update->num == *ret_num)        update = NULL;    }    if (update && ((token->num > *ret_num) || (token->num < update->num)))      *token = *update;        if (!conf_parse_num_token(conf, token, *ret_num))      token = NULL;    if (update && token)      *update = *token;  }    vstr_ref_del(*ret_ref); *ret_ref = NULL;  if (!token)    return (FALSE);    return (httpd__match_iter_beg(conf, token, ret_ref, ret_num));}