All of the functions that operate on files, such as mpack_reader_init_filename store the file handle in the custom context. This means that the context can't be set by the user to anything else, like for use in error handlers.
I feel like either the file IO helpers should use their own, separate context, or it should be documented that calling mpack_reader_set_context and similar is not allowed when file IO is used.