]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
chan_dahdi: Don't ignore setvar when using configuration section scheme.
authorRichard Mudgett <rmudgett@digium.com>
Fri, 19 Dec 2014 17:21:15 +0000 (17:21 +0000)
committerRichard Mudgett <rmudgett@digium.com>
Fri, 19 Dec 2014 17:21:15 +0000 (17:21 +0000)
When the configuration section scheme of chan_dahdi.conf is used (keyword
dahdichan instead of channel) all setvar= options are completely ignored.
No variable defined this way appears in the created DAHDI channels.

* Move the clearing of setvar values to after the deferred processing of
dahdichan.

AST-1378 #close
Reported by: Guenther Kelleter
Patch by: Guenther Kelleter

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@429825 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_dahdi.c

index 2471eb639bd957e670e24c5ac8b1789f3ba18680..88442a279618c804dc31cfbd367f84e2adc22476 100644 (file)
@@ -18702,12 +18702,6 @@ static int process_dahdi(struct dahdi_chan_conf *confp, const char *cat, struct
                        ast_log(LOG_WARNING, "Ignoring any changes to '%s' (on reload) at line %d.\n", v->name, v->lineno);
        }
 
-       /* Since confp has already filled invidual dahdi_pvt objects with channels at this point, clear the variables in confp's pvt. */
-       if (confp->chan.vars) {
-               ast_variables_destroy(confp->chan.vars);
-               confp->chan.vars = NULL;
-       }
-
        if (dahdichan) {
                /* Process the deferred dahdichan value. */
                if (build_channels(confp, dahdichan->value, reload, dahdichan->lineno,
@@ -18722,6 +18716,15 @@ static int process_dahdi(struct dahdi_chan_conf *confp, const char *cat, struct
                }
        }
 
+       /*
+        * Since confp has already filled individual dahdi_pvt objects with channels
+        * at this point, clear the variables in confp's pvt.
+        */
+       if (confp->chan.vars) {
+               ast_variables_destroy(confp->chan.vars);
+               confp->chan.vars = NULL;
+       }
+
        /* mark the first channels of each DAHDI span to watch for their span alarms */
        for (tmp = iflist, y=-1; tmp; tmp = tmp->next) {
                if (!tmp->destroy && tmp->span != y) {