Module: sems
Branch: master
Commit: 97d29b00451c6a634cb7fdc559b8c05728e238f7
URL: 
https://github.com/sems-server/sems/commit/97d29b00451c6a634cb7fdc559b8c05728e238f7

Author: Juha Heinanen <[email protected]>
Committer: Juha Heinanen <[email protected]>
Date: 2016-06-28T22:48:38+03:00

apps/dsm: added utils.mul(var, val) function

---

Modified: apps/dsm/mods/mod_utils/ModUtils.cpp
Modified: apps/dsm/mods/mod_utils/ModUtils.h
Modified: doc/dsm/mods/Readme.mod_utils.txt

---

Diff:  
https://github.com/sems-server/sems/commit/97d29b00451c6a634cb7fdc559b8c05728e238f7.diff
Patch: 
https://github.com/sems-server/sems/commit/97d29b00451c6a634cb7fdc559b8c05728e238f7.patch

---

diff --git a/apps/dsm/mods/mod_utils/ModUtils.cpp 
b/apps/dsm/mods/mod_utils/ModUtils.cpp
index 795533b..fd525a9 100644
--- a/apps/dsm/mods/mod_utils/ModUtils.cpp
+++ b/apps/dsm/mods/mod_utils/ModUtils.cpp
@@ -54,6 +54,7 @@ MOD_ACTIONEXPORT_BEGIN(MOD_CLS_NAME) {
   DEF_CMD("utils.srand", SCUSRandomAction);
   DEF_CMD("utils.add", SCUSAddAction);
   DEF_CMD("utils.sub", SCUSSubAction);
+  DEF_CMD("utils.mul", SCUSMulAction);
   DEF_CMD("utils.int", SCUIntAction);
   DEF_CMD("utils.md5", SCUMD5Action);
   DEF_CMD("utils.replace", SCUReplaceAction);
@@ -388,6 +389,24 @@ EXEC_ACTION_START(SCUSSubAction) {
 
 } EXEC_ACTION_END;
 
+CONST_ACTION_2P(SCUSMulAction, ',', false);
+EXEC_ACTION_START(SCUSMulAction) {
+  string n1 = resolveVars(par1, sess, sc_sess, event_params);
+  string n2 = resolveVars(par2, sess, sc_sess, event_params);
+
+  string varname = par1;
+  if (varname.length() && varname[0] == '$')
+    varname = varname.substr(1);
+
+  // todo: err checking
+  string res = int2str(atoi(n1.c_str()) * atoi(n2.c_str()));
+
+  DBG("setting var[%s] = %s * %s = %s\n", 
+      varname.c_str(), n1.c_str(), n2.c_str(), res.c_str());
+  sc_sess->var[varname] = res;
+
+} EXEC_ACTION_END;
+
 CONST_ACTION_2P(SCUIntAction, ',', false);
 EXEC_ACTION_START(SCUIntAction) {
   string val = resolveVars(par2, sess, sc_sess, event_params);
diff --git a/apps/dsm/mods/mod_utils/ModUtils.h 
b/apps/dsm/mods/mod_utils/ModUtils.h
index d81af1c..cb556c2 100644
--- a/apps/dsm/mods/mod_utils/ModUtils.h
+++ b/apps/dsm/mods/mod_utils/ModUtils.h
@@ -51,6 +51,7 @@ DEF_ACTION_2P(SCURandomAction);
 DEF_ACTION_1P(SCUSRandomAction);
 DEF_ACTION_2P(SCUSAddAction);
 DEF_ACTION_2P(SCUSSubAction);
+DEF_ACTION_2P(SCUSMulAction);
 DEF_ACTION_2P(SCUIntAction);
 DEF_ACTION_2P(SCUSplitStringAction);
 DEF_ACTION_2P(SCUGenSplitStringAction);
diff --git a/doc/dsm/mods/Readme.mod_utils.txt 
b/doc/dsm/mods/Readme.mod_utils.txt
index fa227c9..d7fa2b3 100644
--- a/doc/dsm/mods/Readme.mod_utils.txt
+++ b/doc/dsm/mods/Readme.mod_utils.txt
@@ -46,6 +46,9 @@ Actions
  utils.sub($var, val)
    subtract val from var
 
+ utils.mul($var, val)
+   multiply integer valued var by integer value val
+
  utils.int($var, val)
    get integer part of val into var
 

_______________________________________________
Semsdev mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/semsdev

Reply via email to