Estava trabalhando na função eval quando tive alguns problemas de seg. fault. Então, olhando na descrição das funções acabei ficando confuso com o seguinte:
"Ao final a funcao retorna o endereco da celula no topo da
pilha de execucao. " : eval.c
"resultado = eval(iniFila, mostrePilhaExecucao);
/* 4.9 mostre o resultado/valor da expressao */
if (resultado)
{
printf("Resultado: %f\n", resultado->vFloat);
freeUtil(resultado);
}" :main.c
"Recebe uma lista com cabeca iniLista de celulas do tipo
CelUtil e libera a area alocada por esta lista.": util.c
O problema é que se na função eval eu retornar com cabeça, o resultado no main.c vai pegar o valor da cabeça. Se eu retornar sem cabeça, o resultado pega o valor certo, mas aí a função que dá free no util.c não receberá uma lista com cabeça.
Será que não podemos mudar o escopo da função que dá free, ou seria melhor mudar as linhas que mostram o resultado?