Prova a stampare il puntatore di ritorno con un

codice:
printf("%d", pnode);
e vedi che scrive.

Potrebbe funzionare, ma non ne ho la certezza.