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