mirror of
https://github.com/aap/librw.git
synced 2024-11-25 21:25:42 +00:00
26 lines
552 B
C++
26 lines
552 B
C++
namespace rw {
|
|
|
|
struct Error
|
|
{
|
|
uint32 plugin;
|
|
uint32 code;
|
|
};
|
|
|
|
void setError(Error *e);
|
|
Error *getError(Error *e);
|
|
|
|
#define _ERRORCODE(code, ...) code
|
|
char *dbgsprint(uint32 code, ...);
|
|
|
|
/* ecode is supposed to be in format "(errorcode, printf-arguments..)" */
|
|
#define RWERROR(ecode) do{ \
|
|
rw::Error _e; \
|
|
_e.plugin = PLUGIN_ID; \
|
|
_e.code = _ERRORCODE ecode; \
|
|
fprintf(stderr, "%s:%d: ", __FILE__, __LINE__); \
|
|
fprintf(stderr, "%s\n", rw::dbgsprint ecode); \
|
|
rw::setError(&_e); \
|
|
}while(0)
|
|
|
|
}
|