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
