aboutsummaryrefslogtreecommitdiff
path: root/src/lua/common/je_lua_error.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lua/common/je_lua_error.h')
-rw-r--r--src/lua/common/je_lua_error.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/lua/common/je_lua_error.h b/src/lua/common/je_lua_error.h
new file mode 100644
index 0000000..fd21b41
--- /dev/null
+++ b/src/lua/common/je_lua_error.h
@@ -0,0 +1,27 @@
+#ifndef __JIN_ERROR_H
+#define __JIN_ERROR_H
+#include "../luax.h"
+#include <string.h>
+
+namespace JinEngine
+{
+ namespace Lua
+ {
+
+ static const int FORMAT_MSG_BUFFER_SIZE = 2048;
+
+ inline void error(lua_State* L, const char* fmt, ...)
+ {
+ char err[FORMAT_MSG_BUFFER_SIZE + 1] = { 0 };
+ va_list args;
+ va_start(args, fmt);
+ vsnprintf(err + strlen(err), FORMAT_MSG_BUFFER_SIZE, fmt, args);
+ va_end(args);
+ luax_getglobal(L, "jin");
+ luax_setfieldstring(L, "error", err);
+ }
+
+ }
+}
+
+#endif \ No newline at end of file