#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);
  }
}
