don't use adjacent underscores
delete xf_unpack
accurate error handling on xfgetc and xfputc