/** * Creates a t_string object (__call metamethod). * - Arg 1: userdata containing the domain. * - Arg 2: string to translate. * - Ret 1: string containing the translatable string. */ static int impl_gettext(lua_State *L) { char const *m = luaL_checkstring(L, 2); char const *d = static_cast<char *>(lua_touserdata(L, 1)); // Hidden metamethod, so d has to be a string. Use it to create a t_string. if(lua_isstring(L, 3)) { const char* pl = luaL_checkstring(L, 3); int count = luaL_checkinteger(L, 4); luaW_pushtstring(L, t_string(m, pl, count, d)); } else { luaW_pushtstring(L, t_string(m, d)); } return 1; }
/** * Creates a t_string object (__call metamethod). * - Arg 1: userdata containing the domain. * - Arg 2: string to translate. * - Ret 1: string containing the translatable string. */ static int impl_gettext(lua_State *L) { char const *m = luaL_checkstring(L, 2); char const *d = static_cast<char *>(lua_touserdata(L, 1)); // Hidden metamethod, so d has to be a string. Use it to create a t_string. luaW_pushtstring(L, t_string(m, d)); return 1; }
typename boost::enable_if<typename boost::is_same<T, t_string>::type, void>::type lua_push(lua_State *L, const t_string& val) { luaW_pushtstring(L, val); }