Bueno la verdad que yo no se como funciona esta libreria, pero de lo que he podido leer del codigo hay una cosa que no entiendo, es el
Quiero decir tiene algun proposito, ya que anteriormente no le asignas ningun valor a flecha.
Prueba quitando ese if a ver que pasa.
PD: NO USEIS FFLUSH(STDIN) que me duelen los ojos solo de verlo :)
Saludos