#include <stdarg.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>

#include "oslib/wimp.h"
#include "globaldef.h"

/*extern int errno ;*/

void werr(int fatal, char* format, ...)
{
   va_list va;
  os_error er ;
  char message[512] ;

  er.errnum = 0;
  va_start(va, format);
  vsprintf(message, format, va);
  va_end(va);

  strncpy(er.errmess, message, sizeof(er.errmess)-1) ;

  wimp_report_error(&er, 0, TASKNAME) ;

  if (fatal) exit(0) ;
}

void pwerr(int fatal, char* format, ...)
{
  va_list va;
  os_error er ;
  char message[512] ;

  er.errnum = 0;
  va_start(va, format);
  vsprintf(message, format, va);
  va_end(va);

  /*strncpy(er.errmess, strerror(errno), sizeof(message)) ;*/

  strncat(er.errmess, message, sizeof(er.errmess)-1-strlen(er.errmess)) ;

  wimp_report_error(&er, 0, TASKNAME) ;

  if (fatal) exit(0) ;
}
