Style issues (there are more, but I will only report this first one):

    static char *make_error_msg(const char *error_msg, const char *file_name)