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