Author: sayer
Date: 2009-03-25 12:55:06 +0100 (Wed, 25 Mar 2009)
New Revision: 1331

Modified:
   trunk/apps/dsm/DSMCoreModule.cpp
   trunk/apps/dsm/DSMCoreModule.h
   trunk/apps/dsm/doc/dsm_syntax.txt
Log:
DSM action to clear a variable

Modified: trunk/apps/dsm/DSMCoreModule.cpp
===================================================================
--- trunk/apps/dsm/DSMCoreModule.cpp    2009-03-25 11:54:40 UTC (rev 1330)
+++ trunk/apps/dsm/DSMCoreModule.cpp    2009-03-25 11:55:06 UTC (rev 1331)
@@ -76,6 +76,7 @@
   DEF_CMD("set", SCSetAction);
   DEF_CMD("append", SCAppendAction);
   DEF_CMD("log", SCLogAction);
+  DEF_CMD("clear", SCClearAction);
   DEF_CMD("logVars", SCLogVarsAction);
 
   DEF_CMD("setTimer", SCSetTimerAction);
@@ -330,6 +331,14 @@
       var_name.c_str(), sc_sess->var[var_name].c_str());
 } EXEC_ACTION_END;
 
+EXEC_ACTION_START(SCClearAction) {
+  string var_name = (arg.length() && arg[0] == '$')?
+    arg.substr(1) : arg;
+  DBG("clear variable '%s'\n", var_name.c_str());
+  sc_sess->var.erase(var_name);
+} EXEC_ACTION_END;
+
+
 CONST_ACTION_2P(SCAppendAction,',', false);
 EXEC_ACTION_START(SCAppendAction) {
   string var_name = (par1.length() && par1[0] == '$')?

Modified: trunk/apps/dsm/DSMCoreModule.h
===================================================================
--- trunk/apps/dsm/DSMCoreModule.h      2009-03-25 11:54:40 UTC (rev 1330)
+++ trunk/apps/dsm/DSMCoreModule.h      2009-03-25 11:55:06 UTC (rev 1331)
@@ -76,6 +76,7 @@
 
 DEF_ACTION_2P(SCSetAction);
 DEF_ACTION_2P(SCAppendAction);
+DEF_ACTION_1P(SCClearAction);
 DEF_ACTION_2P(SCSetTimerAction);
 DEF_ACTION_2P(SCLogAction);
 DEF_ACTION_1P(SCLogVarsAction);

Modified: trunk/apps/dsm/doc/dsm_syntax.txt
===================================================================
--- trunk/apps/dsm/doc/dsm_syntax.txt   2009-03-25 11:54:40 UTC (rev 1330)
+++ trunk/apps/dsm/doc/dsm_syntax.txt   2009-03-25 11:55:06 UTC (rev 1331)
@@ -76,6 +76,7 @@
  append($var, value)
  e.g. append($var, "text"); append($var, #key);
       append($var, @select); append($var, $var2);
+ clear($var)
 
  log(level, text)
    e.g. log(1, $var1)

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

Reply via email to