From 3b92f4cff79cd3d9cb76635c938a2a2a06f0d57d Mon Sep 17 00:00:00 2001 From: mnicholson Date: Mon, 30 Nov 2009 21:36:06 +0000 Subject: Merged revisions 231688 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ................ r231688 | mnicholson | 2009-11-30 15:31:55 -0600 (Mon, 30 Nov 2009) | 15 lines 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: http://svn.digium.com/svn/asterisk/branches/1.6.2@231689 f38db490-d61c-443f-a65b-d21fe96a405b --- apps/app_voicemail.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'apps/app_voicemail.c') diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c index 1f74f91fc..a23a462c9 100644 --- a/apps/app_voicemail.c +++ b/apps/app_voicemail.c @@ -10476,7 +10476,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 }; @@ -10784,8 +10784,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; -- cgit v1.2.3