28 lines
628 B
Plaintext
28 lines
628 B
Plaintext
{NodeType} *output = NULL;
|
|
if (!list) {{
|
|
goto RETURN_{Tupper}_LIST_REMOVE;
|
|
}}
|
|
|
|
if (index == 0) {{
|
|
output = wapp_{Tlower}_list_pop_front(list);
|
|
goto RETURN_{Tupper}_LIST_REMOVE;
|
|
}} else if (index == list->node_count) {{
|
|
output = wapp_{Tlower}_list_pop_back(list);
|
|
goto RETURN_{Tupper}_LIST_REMOVE;
|
|
}}
|
|
|
|
output = wapp_{Tlower}_list_get(list, index);
|
|
if (!output) {{
|
|
goto RETURN_{Tupper}_LIST_REMOVE;
|
|
}}
|
|
|
|
output->prev->next = output->next;
|
|
output->next->prev = output->prev;
|
|
|
|
--(list->node_count);
|
|
|
|
output->prev = output->next = NULL;
|
|
|
|
RETURN_{Tupper}_LIST_REMOVE:
|
|
return output;
|