For consistency sake, ensure that the values that ${CALLINGPRES} returns are valid as an

input to SetCallingPres.  (Closes issue #12472)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@114242 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Tilghman Lesher
2008-04-18 06:49:16 +00:00
parent 46c685af6c
commit 9f6634f7c1

View File

@@ -70,8 +70,11 @@ static int setcallerid_pres_exec(struct ast_channel *chan, void *data)
int pres = -1; int pres = -1;
u = ast_module_user_add(chan); u = ast_module_user_add(chan);
pres = ast_parse_caller_presentation(data); /* For interface consistency, permit the argument to be specified as a number */
if (sscanf(data, "%d", &pres) != 1 || pres < 0 || pres > 255 || (pres & 0x9c)) {
pres = ast_parse_caller_presentation(data);
}
if (pres < 0) { if (pres < 0) {
ast_log(LOG_WARNING, "'%s' is not a valid presentation (see 'show application SetCallerPres')\n", ast_log(LOG_WARNING, "'%s' is not a valid presentation (see 'show application SetCallerPres')\n",