Remove use of FOREACH macros

This commit is contained in:
Sebastian Ramacher 2023-12-03 23:23:53 +01:00
parent 6170d701dc
commit 63c8c3f3e9

View file

@ -523,37 +523,34 @@ handle_method_call(GDBusConnection* UNUSED(connection), const gchar* UNUSED(send
} }
} }
static void static void json_document_info_add_node(JsonBuilder* builder, girara_tree_node_t* index) {
json_document_info_add_node(JsonBuilder* builder, girara_tree_node_t* index)
{
girara_list_t* list = girara_node_get_children(index); girara_list_t* list = girara_node_get_children(index);
for (size_t idx = 0; idx != girara_list_size(list); ++idx) {
girara_tree_node_t* node = girara_list_nth(list, idx);
zathura_index_element_t* index_element = girara_node_get_data(node);
GIRARA_LIST_FOREACH_BODY( json_builder_begin_object(builder);
list, girara_tree_node_t*, node, do { json_builder_set_member_name(builder, "title");
zathura_index_element_t* index_element = girara_node_get_data(node); json_builder_add_string_value(builder, index_element->title);
json_builder_begin_object(builder); zathura_link_type_t type = zathura_link_get_type(index_element->link);
json_builder_set_member_name(builder, "title"); zathura_link_target_t target = zathura_link_get_target(index_element->link);
json_builder_add_string_value(builder, index_element->title); if (type == ZATHURA_LINK_GOTO_DEST) {
json_builder_set_member_name(builder, "page");
json_builder_add_int_value(builder, target.page_number + 1);
} else {
json_builder_set_member_name(builder, "target");
json_builder_add_string_value(builder, target.value);
}
zathura_link_type_t type = zathura_link_get_type(index_element->link); if (girara_node_get_num_children(node) > 0) {
zathura_link_target_t target = zathura_link_get_target(index_element->link); json_builder_set_member_name(builder, "sub-index");
if (type == ZATHURA_LINK_GOTO_DEST) { json_builder_begin_array(builder);
json_builder_set_member_name(builder, "page"); json_document_info_add_node(builder, node);
json_builder_add_int_value(builder, target.page_number + 1); json_builder_end_array(builder);
} else { }
json_builder_set_member_name(builder, "target"); json_builder_end_object(builder);
json_builder_add_string_value(builder, target.value); }
}
if (girara_node_get_num_children(node) > 0) {
json_builder_set_member_name(builder, "sub-index");
json_builder_begin_array(builder);
json_document_info_add_node(builder, node);
json_builder_end_array(builder);
}
json_builder_end_object(builder);
} while (0););
} }
static GVariant* static GVariant*