mirror of
https://github.com/aap/librw.git
synced 2025-12-21 18:09:57 +00:00
implemented basic error system; restructured some files; replaced a few asserts
This commit is contained in:
25
src/rwerror.h
Normal file
25
src/rwerror.h
Normal file
@@ -0,0 +1,25 @@
|
||||
namespace rw {
|
||||
|
||||
struct Error
|
||||
{
|
||||
uint32 plugin;
|
||||
uint32 code;
|
||||
};
|
||||
|
||||
void setError(Error *e);
|
||||
Error *getError(Error *e);
|
||||
|
||||
#define _ERRORCODE(code, ...) code
|
||||
char *dbgsprint(int32 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);
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user