lpush->
Je ne sais pas si ma rédaction est naïve, je suis assez mauvais juge de mon propre travail, et il s'agit de mon premier "gros" projet.
line* lpush(line* head)
{
int num;
struct line* pnew = malloc(sizeof(line));
pnew->next = NULL;
pnew->expr = malloc(sizeof(expr));
struct line* parc = head;
if(head == NULL)
{
return pnew;
}
else
{
while(parc->next != NULL)
{
parc = parc->next;
}
num = parc->numero + 1;
pnew->numero = num;
parc->next = pnew;
return head;
}
}
Je recompile bien tout le projet.
Avec les options Wall OU Wextra j'obtiens énormément de messages d'erreurs de définitions multiples
...
test: In function `__data_start':
(.data+0x0): multiple definition of `__data_start'
/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib/
crt1.o:(.data+0x0): first defined here
...
/tmp/ccYsCTIF.o:(.data+0xa0): multiple definition of `str'
test:(.data+0xc0): first defined here
...
list.o: In function `empty':
list.c:(.text+0x273): multiple definition of `empty'
test:(.text+0x327): first defined here
...
Et ce pour, apparemment, la plupart (si ce n'est toutes) les variables et fonctions déclarées.