[prev in list] [next in list] [prev in thread] [next in thread]
List: semsdev
Subject: [Semsdev] r1339 - trunk/apps/dsm
From: sayer () mail ! berlios ! de
Date: 2009-03-26 17:19:28
Message-ID: 200903261719.n2QHJS4p002851 () sheep ! berlios ! de
[Download RAW message or body]
Author: sayer
Date: 2009-03-26 18:19:27 +0100 (Thu, 26 Mar 2009)
New Revision: 1339
Modified:
trunk/apps/dsm/DSMCoreModule.cpp
trunk/apps/dsm/DSMCoreModule.h
Log:
substr function
Modified: trunk/apps/dsm/DSMCoreModule.cpp
===================================================================
--- trunk/apps/dsm/DSMCoreModule.cpp 2009-03-25 19:49:45 UTC (rev 1338)
+++ trunk/apps/dsm/DSMCoreModule.cpp 2009-03-26 17:19:27 UTC (rev 1339)
@@ -75,6 +75,7 @@
DEF_CMD("set", SCSetAction);
DEF_CMD("append", SCAppendAction);
+ DEF_CMD("substr", SCSubStrAction);
DEF_CMD("inc", SCIncAction);
DEF_CMD("log", SCLogAction);
DEF_CMD("clear", SCClearAction);
@@ -351,6 +352,29 @@
var_name.c_str(), sc_sess->var[var_name].c_str());
} EXEC_ACTION_END;
+CONST_ACTION_2P(SCSubStrAction,',', false);
+EXEC_ACTION_START(SCSubStrAction) {
+ string var_name = (par1.length() && par1[0] == '$')?
+ par1.substr(1) : par1;
+ unsigned int pos = 0;
+ if (str2i(resolveVars(par2, sess, sc_sess, event_params), pos)) {
+ ERROR("substr length '%s'\n",
+ resolveVars(par2, sess, sc_sess, event_params).c_str());
+ sc_sess->SET_ERRNO(DSM_ERRNO_UNKNOWN_ARG);
+ return false;
+ }
+ try {
+ sc_sess->var[var_name] = sc_sess->var[var_name].substr(pos);
+ } catch(...) {
+ ERROR("in substr\n");
+ sc_sess->SET_ERRNO(DSM_ERRNO_UNKNOWN_ARG);
+ return false;
+ }
+
+ DBG("$%s now '%s'\n",
+ var_name.c_str(), sc_sess->var[var_name].c_str());
+} EXEC_ACTION_END;
+
EXEC_ACTION_START(SCIncAction) {
string var_name = (arg.length() && arg[0] == '$')?
arg.substr(1) : arg;
Modified: trunk/apps/dsm/DSMCoreModule.h
===================================================================
--- trunk/apps/dsm/DSMCoreModule.h 2009-03-25 19:49:45 UTC (rev 1338)
+++ trunk/apps/dsm/DSMCoreModule.h 2009-03-26 17:19:27 UTC (rev 1339)
@@ -76,6 +76,7 @@
DEF_ACTION_2P(SCSetAction);
DEF_ACTION_2P(SCAppendAction);
+DEF_ACTION_2P(SCSubStrAction);
DEF_ACTION_1P(SCIncAction);
DEF_ACTION_1P(SCClearAction);
DEF_ACTION_2P(SCSetTimerAction);
_______________________________________________
Semsdev mailing list
Semsdev@lists.iptel.org
http://lists.iptel.org/mailman/listinfo/semsdev
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic