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/branches/1.4@231614 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Matthew Nicholson
2009-11-30 21:11:44 +00:00
parent 4f89878b7f
commit 6a680d9b28
4 changed files with 87 additions and 8 deletions

View File

@@ -35,6 +35,8 @@
extern "C" {
#endif
/*! The maximum number of formats we expect to see in a format string */
#define AST_MAX_FORMATS 10
/*! Convenient for waiting */
#define AST_DIGIT_ANY "0123456789#*ABCD"
@@ -402,6 +404,14 @@ off_t ast_tellstream(struct ast_filestream *fs);
*/
struct ast_frame *ast_readframe(struct ast_filestream *s);
/*! Remove duplicate formats from a format string. */
/*!
* \param fmts a format string, this string will be modified
* \retval NULL error
* \return a pointer to the reduced format string, this is a pointer to fmts
*/
char *ast_format_str_reduce(char *fmts);
/*! Initialize file stuff */
/*!
* Initializes all the various file stuff. Basically just registers the cli stuff