From d3414148fc02ae62a91b5e43e2e80aa79996d582 Mon Sep 17 00:00:00 2001 From: Koncord Date: Wed, 27 Jul 2016 17:51:23 +0800 Subject: [PATCH] Simplify LangLua::Call --- apps/openmw-mp/Script/LangLua/LangLua.cpp | 50 +---------------------- 1 file changed, 1 insertion(+), 49 deletions(-) diff --git a/apps/openmw-mp/Script/LangLua/LangLua.cpp b/apps/openmw-mp/Script/LangLua/LangLua.cpp index 44b0dc543..e38333e60 100644 --- a/apps/openmw-mp/Script/LangLua/LangLua.cpp +++ b/apps/openmw-mp/Script/LangLua/LangLua.cpp @@ -134,56 +134,8 @@ boost::any LangLua::Call(const char *name, const char *argl, int buf, ...) va_list vargs; va_start(vargs, buf); std::vector args; - try - { - size_t len = strlen(argl); - for (unsigned int i = 0; i < len; ++i) - { - switch (argl[i]) - { - case 'i': - args.emplace_back(va_arg(vargs, unsigned int)); - break; - - case 'q': - args.emplace_back(va_arg(vargs, signed int)); - break; - - case 'l': - args.emplace_back(va_arg(vargs, unsigned long long)); - break; - - case 'w': - args.emplace_back(va_arg(vargs, signed long long)); - break; - - case 'f': - { - args.emplace_back(va_arg(vargs, double)); - break; - } - - case 'p': - args.emplace_back(va_arg(vargs, void*)); - break; - - case 's': - args.emplace_back(va_arg(vargs, const char*)); - break; - - default: - throw runtime_error("PAWN call: Unknown argument identifier " + argl[i]); - } - } - - } - catch(...) - { - va_end(vargs); - throw; - } - va_end(vargs); + ScriptFunctions::GetArguments(args, vargs, argl); return Call(name, argl, args); }