// Copyright (C) 2010, Guy Barrand. All rights reserved.
// See the file tools.license for terms.

#ifndef tools_out_error
#define tools_out_error

#include "snpf"

#include <ostream>

namespace tools {

inline void out_error(std::ostream& a_out,
                      const char* location, const char* fmt,...) {
  char _s[1024];
  va_list args;
  va_start(args,fmt);
  vsnpf(_s,sizeof(_s),fmt,args);
  va_end(args);
  if(location) {
    a_out << location << " : " << _s << std::endl;
  } else {
    a_out << _s << std::endl;
  }
}

}

#endif
