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

Author: Victor Seva <[email protected]>
Committer: Victor Seva <[email protected]>
Date:   Wed May 29 12:25:09 2013 +0200

core: Add callback to be able to log assign actions.

---

 lvalue.c |   14 ++++++++++++++
 lvalue.h |    3 ++-
 2 files changed, 16 insertions(+), 1 deletions(-)

diff --git a/lvalue.c b/lvalue.c
index a235ccc..156e506 100644
--- a/lvalue.c
+++ b/lvalue.c
@@ -36,7 +36,16 @@
 #include "dprint.h"
 #include "route.h"
 
+/* callback to log assign actions */
+static log_assign_action_f _log_assign_action = NULL;
 
+/**
+ * @brief set callback function log assign actions
+ */
+void set_log_assign_action_cb(log_assign_action_f f)
+{
+       _log_assign_action = f;
+}
 
 /**
  * @brief eval rve and assign the result to an avp
@@ -406,6 +415,11 @@ int lval_assign(struct run_act_ctx* h, struct sip_msg* msg,
                        rve->fpos.s_line, rve->fpos.s_col,
                        rve->fpos.e_line, rve->fpos.e_col);
        }
+       else
+       {
+               if(unlikely(_log_assign_action!=NULL))
+                       _log_assign_action(msg, lv);
+       }
        rval_destroy(rv);
        return ret;
 error:
diff --git a/lvalue.h b/lvalue.h
index 3dbbcb1..b5eccd4 100644
--- a/lvalue.h
+++ b/lvalue.h
@@ -51,7 +51,8 @@ struct lvalue{
 /* lval operators */
 #define EQ_T 254 /* k compatibility */
 
-
+typedef int (*log_assign_action_f)(struct sip_msg* msg, struct lvalue *lv);
+void set_log_assign_action_cb(log_assign_action_f f);
 
 /** eval rve and assign the result to lv
  * lv=eval(rve)


_______________________________________________
sr-dev mailing list
[email protected]
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev

Reply via email to