questo è il codice completo. anch'io ho subito pensato ci deve essere un while dopo , ma invece niente di niente

codice:
puntTmp = puntatoreTesta;
if (puntTmp != NULL){ //se la lista ha degli elementi
while (puntTmp->puntSucc!=NULL) do 
puntTmp = puntTmp->puntSucc;
//poi passa alla creazione del nuovo elemento
puntTmp->puntSucc= (struct elem *) malloc (sizeof(struct elem));
puntTmp= puntTmp->puntSucc;
puntTmp->info = ele;
puntTmp->puntSucc = NULL;
}
else
{
puntatoreTesta = (struct elem *) malloc (sizeof(struct elem));
puntatoreTesta->info = ele;
puntTmp->puntSucc = NULL;
}