|
|
|
@ -1422,9 +1422,18 @@ static void call_ng_flags_freqs(ng_parser_ctx_t *ctx, bencode_item_t *value) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
static void call_ng_received_from_iter(ng_parser_ctx_t *ctx, str *key, helper_arg arg) { |
|
|
|
switch ((*arg.i)++) { |
|
|
|
case 0: |
|
|
|
ctx->flags->received_from_family = *key; |
|
|
|
break; |
|
|
|
case 1: |
|
|
|
ctx->flags->received_from_address = *key; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
void call_ng_main_flags(ng_parser_ctx_t *ctx, str *key, bencode_item_t *value) { |
|
|
|
str s = STR_NULL; |
|
|
|
bencode_item_t *it; |
|
|
|
sdp_ng_flags *out = ctx->flags; |
|
|
|
const ng_parser_t *parser = ctx->parser; |
|
|
|
|
|
|
|
@ -1807,12 +1816,10 @@ void call_ng_main_flags(ng_parser_ctx_t *ctx, str *key, bencode_item_t *value) { |
|
|
|
|
|
|
|
case CSH_LOOKUP("received from"): |
|
|
|
case CSH_LOOKUP("received-from"): |
|
|
|
if (value->type != BENCODE_LIST) |
|
|
|
if (!parser->is_list(value)) |
|
|
|
break; |
|
|
|
if ((it = value->child)) { |
|
|
|
bencode_get_str(it, &out->received_from_family); |
|
|
|
bencode_get_str(it->sibling, &out->received_from_address); |
|
|
|
} |
|
|
|
int i = 0; |
|
|
|
parser->list_iter(ctx, value, call_ng_received_from_iter, NULL, &i); |
|
|
|
break; |
|
|
|
case CSH_LOOKUP("record call"): |
|
|
|
case CSH_LOOKUP("record-call"): |
|
|
|
|