file_in is initialized with stdin. When opening it, a failure is
indicated by the NULL value assigned to file_in. The application
then tries to close the NULL file descriptor as it is not equal to
stdin which gives a segmentation fault.
This patch adds a check if the file descriptor is NULL and does not
try to close it if this is the case.
The GPX has been refactored to support re-entrant serial communication
using a pacet driver style callback interface. At this point the
existing code base has been adapted, however the serial interface
driver is still to be written.