diff options
author | Matthew Nicholson <mnicholson@digium.com> | 2009-11-30 21:31:55 +0000 |
---|---|---|
committer | Matthew Nicholson <mnicholson@digium.com> | 2009-11-30 21:31:55 +0000 |
commit | 31848bcdd1210fc71ba90d8c47749782177c6096 (patch) | |
tree | 008791fdc6f99851a46ac43647ade73a40f3bbe7 /apps | |
parent | 936a2bd20247762c5016e414d0d60cd3ee53d6eb (diff) |
Merged revisions 231614 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r231614 | mnicholson | 2009-11-30 15:11:44 -0600 (Mon, 30 Nov 2009) | 8 lines
Remove duplicate entries from voicemail format lists. This prevents app_voicemail from entering an infinite loop when the same format is specified twice in the format list.
(closes issue #15625)
Reported by: Shagg63
Tested by: mnicholson
Review: https://reviewboard.asterisk.org/r/429/
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@231688 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'apps')
-rw-r--r-- | apps/app_voicemail.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c index a69b306f2..673990ca4 100644 --- a/apps/app_voicemail.c +++ b/apps/app_voicemail.c @@ -10617,7 +10617,7 @@ static int load_config(int reload) char *cat; struct ast_variable *var; const char *val; - char *q, *stringp; + char *q, *stringp, *tmp; int x; int tmpadsi[4]; struct ast_flags config_flags = { reload ? CONFIG_FLAG_FILEUNCHANGED : 0 }; @@ -10926,8 +10926,16 @@ static int load_config(int reload) } val = ast_variable_retrieve(cfg, "general", "format"); - if (!val) + if (!val) { val = "wav"; + } else { + tmp = ast_strdupa(val); + val = ast_format_str_reduce(tmp); + if (!val) { + ast_log(LOG_ERROR, "Error processing format string, defaulting to format 'wav'\n"); + val = "wav"; + } + } ast_copy_string(vmfmts, val, sizeof(vmfmts)); skipms = 3000; |