aboutsummaryrefslogtreecommitdiff
path: root/src/lua/common/je_lua_error.h
blob: fd21b41bbcd964d2d3a293c3a7317b1ac0e4d9fe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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