#include <stdio.h>
#include <stdlib.h>
struct list {
int key;
struct list *next;
};
void append(struct list **l1, struct list l2)
{
**l1 = l2;
(*l1)->next = NULL;
}
int main(void)
{
struct list *l1, l2 = { 42, NULL }, l3 = { 24, NULL };
append(&l1, l2);
append(&l1->next, l3);
for (struct list *p = l1; p != NULL; p = p->next)
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCnN0cnVjdCBsaXN0IHsKICAgIGludCBrZXk7CiAgICBzdHJ1Y3QgbGlzdCAqbmV4dDsKfTsKCnZvaWQgYXBwZW5kKHN0cnVjdCBsaXN0ICoqbDEsIHN0cnVjdCBsaXN0IGwyKQp7CiAgICAqbDEgPSBtYWxsb2Moc2l6ZW9mICpsMSk7CiAgICAqKmwxID0gbDI7CiAgICAoKmwxKS0+bmV4dCA9IE5VTEw7Cn0KCmludCBtYWluKHZvaWQpCnsKICAgIHN0cnVjdCBsaXN0ICpsMSwgbDIgPSB7IDQyLCBOVUxMIH0sIGwzID0geyAyNCwgTlVMTCB9OwoKICAgIGFwcGVuZCgmbDEsIGwyKTsKICAgIGFwcGVuZCgmbDEtPm5leHQsIGwzKTsKCiAgICBmb3IgKHN0cnVjdCBsaXN0ICpwID0gbDE7IHAgIT0gTlVMTDsgcCA9IHAtPm5leHQpCiAgICAgICAgcHJpbnRmKCIlZFxuIiwgcC0+a2V5KTsKCiAgICBmcmVlKGwxLT5uZXh0KTsKICAgIGZyZWUobDEpOwp9Cg==