On Fri 05 Feb 2021 12:52:03 PM CET, Vladimir Sementsov-Ogievskiy wrote: >> However the new code only uses and updates 'info_list' and it does not >> keep the head anywhere, so what the caller gets is a pointer to the >> tail. >> > > No. *info_list is modified only on the first loop iteration. And than > info_list is switched to &(*(info_list))->next, so on second iteration > we will modify @next field of first element, not original *info_list.
Right, I see! I find it a bit confusing, 'info_list' is at the same time a return value and a local variable that you use to iterate over the list. Anyway, Reviewed-by: Alberto Garcia <be...@igalia.com> Berto