Browse Source

MT#55283 add bool return to dict_iter

to indicate success

Change-Id: Iaeaa41262a60d039b1e2d4b7ad2d30bb6c565c13
pull/1848/head
Richard Fuchs 1 year ago
parent
commit
425a3332b9
2 changed files with 5 additions and 3 deletions
  1. +4
    -2
      daemon/control_ng.c
  2. +1
    -1
      include/control_ng.h

+ 4
- 2
daemon/control_ng.c View File

@ -79,12 +79,12 @@ typedef struct ng_ctx {
} while (0) } while (0)
static void bencode_dict_iter(ng_parser_ctx_t *ctx, bencode_item_t *input,
static bool bencode_dict_iter(ng_parser_ctx_t *ctx, bencode_item_t *input,
void (*callback)(ng_parser_ctx_t *, str *key, bencode_item_t *value, helper_arg), void (*callback)(ng_parser_ctx_t *, str *key, bencode_item_t *value, helper_arg),
helper_arg arg) helper_arg arg)
{ {
if (input->type != BENCODE_DICTIONARY) if (input->type != BENCODE_DICTIONARY)
return;
return false;
bencode_item_t *value = NULL; bencode_item_t *value = NULL;
for (bencode_item_t *key = input->child; key; key = value->sibling) { for (bencode_item_t *key = input->child; key; key = value->sibling) {
@ -98,6 +98,8 @@ static void bencode_dict_iter(ng_parser_ctx_t *ctx, bencode_item_t *input,
callback(ctx, &k, value, arg); callback(ctx, &k, value, arg);
} }
return true;
} }
static bool bencode_is_list(bencode_item_t *arg) { static bool bencode_is_list(bencode_item_t *arg) {
return arg->type == BENCODE_LIST; return arg->type == BENCODE_LIST;


+ 1
- 1
include/control_ng.h View File

@ -108,7 +108,7 @@ typedef union {
struct ng_parser { struct ng_parser {
str *(*collapse)(bencode_item_t *root, str *out); str *(*collapse)(bencode_item_t *root, str *out);
void (*dict_iter)(ng_parser_ctx_t *, bencode_item_t *,
bool (*dict_iter)(ng_parser_ctx_t *, bencode_item_t *,
void (*callback)(ng_parser_ctx_t *, str *, bencode_item_t *, helper_arg), void (*callback)(ng_parser_ctx_t *, str *, bencode_item_t *, helper_arg),
helper_arg); helper_arg);
bool (*is_list)(bencode_item_t *); bool (*is_list)(bencode_item_t *);


Loading…
Cancel
Save