Module: kamailio
Branch: master
Commit: 851367053d6b4d64161a50fa7408d0dd750922d5
URL: https://github.com/kamailio/kamailio/commit/851367053d6b4d64161a50fa7408d0d…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2017-07-07T14:03:29+02:00
core: fixup helper function for two regex parameters
---
Modified: src/core/mod_fix.c
Modified: src/core/mod_fix.h
---
Diff: https://github.com/kamailio/kamailio/commit/851367053d6b4d64161a50fa7408d0d…
Patch: https://github.com/kamailio/kamailio/commit/851367053d6b4d64161a50fa7408d0d…
---
diff --git a/src/core/mod_fix.c b/src/core/mod_fix.c
index 4fd0fa4ca7..d817b75565 100644
--- a/src/core/mod_fix.c
+++ b/src/core/mod_fix.c
@@ -207,7 +207,7 @@ struct regex_fixup {
int fixup_regexp_null(void** param, int param_no)
{
struct regex_fixup* re;
-
+
if (param_no != 1)
return E_UNSPEC;
if ((re=pkg_malloc(sizeof(*re))) ==0) {
@@ -226,11 +226,15 @@ int fixup_regexp_null(void** param, int param_no)
return E_UNSPEC;
}
+int fixup_regexp_regexp(void** param, int param_no)
+{
+ return fixup_regexp_null(param, 1);
+}
int fixup_free_regexp_null(void** param, int param_no)
{
struct regex_fixup* re;
-
+
if (param_no != 1)
return E_UNSPEC;
if (*param) {
@@ -242,6 +246,11 @@ int fixup_free_regexp_null(void** param, int param_no)
return 0;
}
+int fixup_free_regexp_regexp(void** param, int param_no)
+{
+ return fixup_free_regexp_null(param, 1);
+}
+
/* fixup_pvar_*() has to be written "by hand", since
it needs to save the original pointer (the fixup users expects
a pointer to the pv_spec_t in *param and hence the original value
@@ -638,4 +647,4 @@ int fixup_free_spve_pvar(void** param, int param_no)
if(param_no==2)
return fixup_free_pvar_null(param, 1);
return E_UNSPEC;
-}
\ No newline at end of file
+}
diff --git a/src/core/mod_fix.h b/src/core/mod_fix.h
index a8388ee84d..835342ab86 100644
--- a/src/core/mod_fix.h
+++ b/src/core/mod_fix.h
@@ -1,4 +1,4 @@
-/*
+/*
* Copyright (C) 2008 iptelorg GmbH
*
* Permission to use, copy, modify, and distribute this software for any
@@ -36,7 +36,7 @@
/**
* generic parameter that holds a string, an int, a pseudo-variable
* or a ser select, avp, or subst.
- *
+ *
* Note: used only for compatibility with existing kamailio code,
* please use fparam_t directly in the future.
*
@@ -86,13 +86,8 @@ int fixup_uint_uint(void** param, int param_no);
int fixup_regexp_null(void** param, int param_no);
int fixup_free_regexp_null(void** param, int param_no);
-#if 0
-int fixup_regexp_none(void** param, int param_no);
-int fixup_free_regexp_none(void** param, int param_no);
-/* not implemened yet */
-int fixup_regexpNL_null(void** param, int param_no);
-int fixup_regexpNL_none(void** param, int param_no);
-#endif
+int fixup_regexp_regexp(void** param, int param_no);
+int fixup_free_regexp_regexp(void** param, int param_no);
int fixup_pvar_null(void **param, int param_no);
int fixup_free_pvar_null(void** param, int param_no);
Thanks David for your attention.
That content does not clarify at all one essential question in which block
sections of the cfg script I can allowing the exported functions of my
module.
Or put it another way, what care should I take when allowing my exported
functions to be called from the one script block section?
Regards,
CMA
Date: Wed, 5 Jul 2017 00:01:05 +0200
From: David Villasmil <david.villasmil.work(a)gmail.com>
To: "Kamailio (SER) - Development Mailing List" <sr-dev(a)lists.kamailio.org>
Subject: Re: [sr-dev] Route Blocks?
Message-ID: <CAFGRPVpkAufkJ+w=6Drw3O1v1LbbShQU9kh68YktraOTNAJtDQ@mail.
gmail.com>
Content-Type: text/plain; charset="utf-8"
An excerpt from:
https://www.kamailio.org/dokuwiki/doku.php/development:write-module
It reads:
*flags* *int* - Can't have a structure without flags! The flags tell the
script when it is legal to call the function. The flag values can be
“or'ed” together if the function can be called from more then one routing
section of the openser.cfg script. i.e. *REQUEST_ROUTE | ONREPLY_ROUTE*
- *REQUEST_ROUTE* - The function can be called in the request route
section of the openser.cfg script.
- *FAILURE_ROUTE* - The function can be called in the failure route
section of the openser.cfg script.
- *ONREPLY_ROUTE* - The function can be called in the reply route
section of the openser.cfg script.
- *BRANCH_ROUTE* - The function can be called in the branch route
section of the openser.cfg script.
ᐧ
Regards,
David Villasmil
email: david.villasmil.work(a)gmail.com
phone: +34669448337
On Tue, Jul 4, 2017 at 4:36 PM, Cléviton Mendes de Araújo <
clevitonmendes(a)gmail.com> wrote:
> Hi Folks
>
> Let me do one design question about to writing code module when write it.
>
> What’s conditions to allow an module exported function may be running from
> Kamailio route blocks?
>
> Why can I running an module function from REQUST_ROUTE and isn’t from
> REPLY_ROUTE block?
>
> What restricts me to run from one block and not another?
>
> Best regards
>
> CMA
>
> _______________________________________________
> Kamailio (SER) - Development Mailing List
> sr-dev(a)lists.kamailio.org
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
>