У меня есть список, реализованный в другом списке, но я не знаю, как его перебрать. Не могли бы вы помочь мне с этим?
LIST_HEAD(first_list);
LIST_HEAD(second_list);
struct my_first_list {
struct list_head next;
int variable_a;
}
struct my_second_list {
struct list_head next;
int variable_b;
struct my_first_list *my_list;
}
Я заполнил my_first_list следующим образом:
struct my_second_list *sec_list_element;
list_for_each(p, &second_list) {
sec_list_element = list_entry(p, struct my_second_list, next);
for(int i = 0; i < 10; i++) {
sec_list->my_list->variable_a = 1;
list_add(&sec_list_element->my_list->next, &first_list);
}
}
Теперь я не знаю, как вернуть свои элементы обратно ...
Я пытался сделать что-то вроде:
my_first_list *first_list_element;
my_second_list *sec_list_element;
list_for_each(p, &second_list) {
sec_list_element = list_entry(p, struct my_second_list, next);
list_for_each(q, &first_list) {
first_list_element = list_entry ... // and here i'm not sure what to do
}
}
Спасибо!