
#ifndef ERROR_H
#define ERROR_H

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

class Error
{
	char str[4 * 1024], help[4 * 1024];

public:
	Error(const char *format, ...)
	{
		va_list ap;
		va_start(ap, format);
		vsprintf(str, format, ap);
		va_end(ap);

		help[0] = 0;
	}

	Error *addHelp(const char *format, ...)
	{
		va_list ap;
		va_start(ap, format);
		vsprintf(help, format, ap);
		va_end(ap);

		return this;
	}

	const char *getHelp()
	{
		return help;
	}

	const char *toString()
	{
		return str;
	}
};

#endif
