From 09f1c467147f3660c2ee52210a856fda3337811a Mon Sep 17 00:00:00 2001 From: Gunnar Beutner Date: Sun, 23 Mar 2014 17:26:36 +0100 Subject: [PATCH] Implement the exit() script function. Refs #5846 --- lib/base/scriptutils.cpp | 7 +++++++ lib/base/scriptutils.h | 1 + 2 files changed, 8 insertions(+) diff --git a/lib/base/scriptutils.cpp b/lib/base/scriptutils.cpp index 2b07408d3..0828f75ee 100644 --- a/lib/base/scriptutils.cpp +++ b/lib/base/scriptutils.cpp @@ -25,6 +25,7 @@ #include "base/dictionary.h" #include "base/serializer.h" #include "base/logger_fwd.h" +#include "base/application.h" #include #include #include @@ -37,6 +38,7 @@ REGISTER_SCRIPTFUNCTION(len, &ScriptUtils::Len); REGISTER_SCRIPTFUNCTION(union, &ScriptUtils::Union); REGISTER_SCRIPTFUNCTION(intersection, &ScriptUtils::Intersection); REGISTER_SCRIPTFUNCTION(log, &ScriptUtils::Log); +REGISTER_SCRIPTFUNCTION(exit, &ScriptUtils::Exit); bool ScriptUtils::Regex(const String& pattern, const String& text) { @@ -109,3 +111,8 @@ void ScriptUtils::Log(const Value& message) else ::Log(LogInformation, "config", JsonSerialize(message)); } + +void ScriptUtils::Exit(int code) +{ + exit(code); +} diff --git a/lib/base/scriptutils.h b/lib/base/scriptutils.h index a23fd3317..043b12cbb 100644 --- a/lib/base/scriptutils.h +++ b/lib/base/scriptutils.h @@ -38,6 +38,7 @@ public: static Array::Ptr Union(const std::vector& arguments); static Array::Ptr Intersection(const std::vector& arguments); static void Log(const Value& message); + static void Exit(int code); private: ScriptUtils(void);