issue #5354
authorKevin P. Fleming <kpfleming@digium.com>
Fri, 11 Nov 2005 00:14:13 +0000 (00:14 +0000)
committerKevin P. Fleming <kpfleming@digium.com>
Fri, 11 Nov 2005 00:14:13 +0000 (00:14 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7060 65c4cc65-6c06-0410-ace0-fbb531ad65f3

ChangeLog
pbx/pbx_ael.c

index 48ba14a..768cce1 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 2005-11-10  Kevin P. Fleming  <kpfleming@digium.com>
 
+       * pbx/pbx_ael.c: handle switch default cases inside macros properly (issue #5354)
+
        * configs/voicemail.conf.sample (format): add strong warning about changing format list when mailboxes contain messages (issue #5689)
 
        * many files: ensure that system headers are included before Asterisk headers (issue #5693)
index 2877384..51328d0 100755 (executable)
@@ -512,7 +512,7 @@ static int __build_step(const char *what, const char *name, const char *filename
                        mlen = strlen(exten) + 128 + strlen(args) + strlen(name);
                        margs = alloca(mlen);
                        app = "Goto";
-                       sprintf(margs, "sw-%s-%d-%s|1", name, *pos, args);
+                       sprintf(margs, "sw-%d-%s|1", *pos, args);
                        ast_process_quotes_and_slashes(margs, ',', '|');
                        oargs = args;
                        args = margs;
@@ -523,7 +523,7 @@ static int __build_step(const char *what, const char *name, const char *filename
                                (*pos)++;
                        }
                        app = "NoOp";
-                       sprintf(margs, "Finish switch-%s-%d", name, *pos - 1);
+                       sprintf(margs, "Finish switch-%d", *pos - 1);
                        if (ast_add_extension2(con, 0, exten, *pos, *label, NULL, app, strdup(args), FREE, registrar))
                                ast_log(LOG_WARNING, "Unable to add step at priority '%d' of %s '%s'\n", *pos, what, name);
                        else {
@@ -543,15 +543,15 @@ static int __build_step(const char *what, const char *name, const char *filename
                                        if (curcase) {
                                                /* Handle fall through */
                                                char tmp[strlen(newcase) + strlen(name) + 40];
-                                               sprintf(tmp, "sw-%s-%d-%s|%d", name, *pos - 2, newcase, 1);
+                                               sprintf(tmp, "sw-%d-%s|%d", *pos - 2, newcase, 1);
                                                ast_add_extension2(con, 0, margs, cpos, NULL, NULL, "Goto", strdup(tmp), FREE, registrar);
                                        }
                                        curcase = newcase;
                                        cpos = 1;
                                        if (pattern)
-                                               snprintf(margs, mlen, "_sw-%s-%d-%s", name, *pos - 2, curcase);
+                                               snprintf(margs, mlen, "_sw-%d-%s", *pos - 2, curcase);
                                        else
-                                               snprintf(margs, mlen, "sw-%s-%d-%s", name, *pos - 2, curcase);
+                                               snprintf(margs, mlen, "sw-%d-%s", *pos - 2, curcase);
                                        if (!strcasecmp(rest, "break")) {
                                                char tmp[strlen(exten) + 10];
                                                sprintf(tmp, "%s|%d", exten, *pos - 1);