summaryrefslogtreecommitdiff
path: root/src/commands.cpp
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2013-03-08 02:24:24 +0300
committerAndrei Karas <akaras@inbox.ru>2013-03-08 02:24:24 +0300
commitdcd0d2e4d8a827d06a10344855d8d044bd26630d (patch)
treed80a5c0f9e9ef9025b42ed7a619fbf21f4a867d7 /src/commands.cpp
parent466b8491acd56454d82ab70d3fcbc06206b18e6a (diff)
downloadmanaplus-dcd0d2e4d8a827d06a10344855d8d044bd26630d.tar.gz
manaplus-dcd0d2e4d8a827d06a10344855d8d044bd26630d.tar.bz2
manaplus-dcd0d2e4d8a827d06a10344855d8d044bd26630d.tar.xz
manaplus-dcd0d2e4d8a827d06a10344855d8d044bd26630d.zip
Add chat command for execute external programs.
New chat command: /execute NAME[ PAR] NAME - program name PAR - parameter
Diffstat (limited to 'src/commands.cpp')
-rw-r--r--src/commands.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/commands.cpp b/src/commands.cpp
index dce8c57e0..abd30f713 100644
--- a/src/commands.cpp
+++ b/src/commands.cpp
@@ -1056,6 +1056,23 @@ impHandler1(open)
openBrowser(url);
}
+impHandler1(execute)
+{
+ const size_t idx = args.find(" ");
+ std::string name;
+ std::string params;
+ if (idx == std::string::npos)
+ {
+ name = args;
+ }
+ else
+ {
+ name = args.substr(0, idx);
+ params = args.substr(idx + 1);
+ }
+ execFile(name, name, params, "");
+}
+
#ifdef DEBUG_DUMP_LEAKS1
void showRes(std::string str, ResourceManager::Resources *res);