summaryrefslogtreecommitdiff
path: root/plugins/MirLua/Modules/m_variables/src/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/MirLua/Modules/m_variables/src/main.cpp')
-rw-r--r--plugins/MirLua/Modules/m_variables/src/main.cpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/plugins/MirLua/Modules/m_variables/src/main.cpp b/plugins/MirLua/Modules/m_variables/src/main.cpp
new file mode 100644
index 0000000000..1fb6dd29bb
--- /dev/null
+++ b/plugins/MirLua/Modules/m_variables/src/main.cpp
@@ -0,0 +1,32 @@
+#include "stdafx.h"
+
+static int lua_Parse(lua_State *L)
+{
+ if (!ServiceExists(MS_VARS_FORMATSTRING))
+ {
+ lua_pushvalue(L, 1);
+ return 1;
+ }
+
+ ptrT format(mir_utf8decodeT(luaL_checkstring(L, 1)));
+ MCONTACT hContact = lua_tointeger(L, 2);
+
+ TCHAR *res = variables_parse_ex(format, NULL, hContact, NULL, 0);
+ lua_pushstring(L, T2Utf(res));
+
+ return 1;
+}
+
+static luaL_Reg variablesApi[] =
+{
+ { "Parse", lua_Parse },
+
+ { NULL, NULL }
+};
+
+LUAMOD_API int luaopen_m_variables(lua_State *L)
+{
+ luaL_newlib(L, variablesApi);
+
+ return 1;
+}