diff options
author | jpeeler <jpeeler@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-06-08 01:18:52 +0000 |
---|---|---|
committer | jpeeler <jpeeler@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-06-08 01:18:52 +0000 |
commit | ab6008baa0cf5f89aadcb4c0f6b80ca75d635088 (patch) | |
tree | 2a6bfa6db5bba29db13811a005cdba526221311f /apps/app_parkandannounce.c | |
parent | 240464e0ce7ab52b1e3a7159af182968e300247d (diff) |
Merged revisions 121131 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
........
r121131 | jpeeler | 2008-06-07 20:16:25 -0500 (Sat, 07 Jun 2008) | 2 lines
Fixes segfault when using ParkAndAnnounce. Also, loop made more efficient as announce template only needs to be checked until the number of colon separated arguments run out, not the entire pointer storage array. Was done in a similiar fashion in 1.4, but here we're using less variables.
........
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@121138 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps/app_parkandannounce.c')
-rw-r--r-- | apps/app_parkandannounce.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/apps/app_parkandannounce.c b/apps/app_parkandannounce.c index 7ad7a6416..7ccf691c8 100644 --- a/apps/app_parkandannounce.c +++ b/apps/app_parkandannounce.c @@ -144,9 +144,12 @@ static int parkandannounce_exec(struct ast_channel *chan, void *data) ast_verb(4, "Announce Template:%s\n", args.template); - for (looptemp = 0, tmp[looptemp++] = strsep(&args.template, ":"); - looptemp < sizeof(tmp) / sizeof(tmp[0]); - tmp[looptemp++] = strsep(&args.template, ":")); + for (looptemp = 0; looptemp < sizeof(tmp) / sizeof(tmp[0]); looptemp++) { + if ((tmp[looptemp] = strsep(&args.template, ":")) != NULL) + continue; + else + break; + } for (i = 0; i < looptemp; i++) { ast_verb(4, "Announce:%s\n", tmp[i]); |