Module: sems
Branch: master
Commit: fd057209421644235a2faa4ad660620590a1acb7
URL:    
http://git.sip-router.org/cgi-bin/gitweb.cgi/sems/?a=commit;h=fd057209421644235a2faa4ad660620590a1acb7

Author: Stefan Sayer <[email protected]>
Committer: Stefan Sayer <[email protected]>
Date:   Wed Jun 23 15:34:19 2010 +0200

utils.int action - get integer part of float

---

 apps/dsm/mods/mod_utils/ModUtils.cpp         |   16 +++++++++++++++-
 apps/dsm/mods/mod_utils/ModUtils.h           |    2 +-
 apps/dsm/mods/mod_utils/Readme.mod_utils.txt |    3 +++
 3 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/apps/dsm/mods/mod_utils/ModUtils.cpp 
b/apps/dsm/mods/mod_utils/ModUtils.cpp
index 4c77349..49a6cf4 100644
--- a/apps/dsm/mods/mod_utils/ModUtils.cpp
+++ b/apps/dsm/mods/mod_utils/ModUtils.cpp
@@ -46,7 +46,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.int", SCUIntAction);
 } MOD_ACTIONEXPORT_END;
 
 MOD_CONDITIONEXPORT_NONE(MOD_CLS_NAME);
@@ -198,3 +198,17 @@ EXEC_ACTION_START(SCUSSubAction) {
   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);
+
+  string varname = par1;
+  if (varname.length() && varname[0] == '$')
+    varname = varname.substr(1);  
+
+  sc_sess->var[varname] = int2str((int)atof(val.c_str()));
+  DBG("set var[%s] = %s\n", 
+      varname.c_str(), sc_sess->var[varname].c_str());
+
+} EXEC_ACTION_END;
diff --git a/apps/dsm/mods/mod_utils/ModUtils.h 
b/apps/dsm/mods/mod_utils/ModUtils.h
index f43ca0e..ccd9a64 100644
--- a/apps/dsm/mods/mod_utils/ModUtils.h
+++ b/apps/dsm/mods/mod_utils/ModUtils.h
@@ -40,5 +40,5 @@ DEF_ACTION_2P(SCURandomAction);
 DEF_ACTION_1P(SCUSRandomAction);
 DEF_ACTION_2P(SCUSAddAction);
 DEF_ACTION_2P(SCUSSubAction);
-
+DEF_ACTION_2P(SCUIntAction);
 #endif
diff --git a/apps/dsm/mods/mod_utils/Readme.mod_utils.txt 
b/apps/dsm/mods/mod_utils/Readme.mod_utils.txt
index 94b0282..25e29fa 100644
--- a/apps/dsm/mods/mod_utils/Readme.mod_utils.txt
+++ b/apps/dsm/mods/mod_utils/Readme.mod_utils.txt
@@ -30,4 +30,7 @@ Actions:
  utils.sub($var, val)
    subtract val from var
 
+ 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