#include <stdio.h>
#include <errno.h>
#include <stdarg.h>

void
message(int warnings, const char *string, ...)
{
    if (((warnings > 0) && verbose) || (warnings <= 0)) {
        va_list ap;

        fflush(stdout);
        if (warnings >= 0) {
            fprintf(stderr, "%s:%d", in_name, in_line_no);
            if (warnings > 1)
                fprintf(stderr, ":%d", warnings);       // column for broken-line
            fprintf(stderr, ": ");
        }
        fprintf(stderr, "%s: ", warnings ? "Warning" : "Error");

        va_start(ap, string);
        vfprintf(stderr, string, ap);
        va_end(ap);

        fprintf(stderr, "\n");
        fflush(stderr);
    }
}
