Merged revisions 114242 via svnmerge from
authorTilghman Lesher <tilghman@meg.abyt.es>
Fri, 18 Apr 2008 06:53:47 +0000 (06:53 +0000)
committerTilghman Lesher <tilghman@meg.abyt.es>
Fri, 18 Apr 2008 06:53:47 +0000 (06:53 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r114242 | tilghman | 2008-04-18 01:49:16 -0500 (Fri, 18 Apr 2008) | 3 lines

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/trunk@114243 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_setcallerid.c

index c76b80e..f1c9df3 100644 (file)
@@ -68,7 +68,11 @@ static int setcallerid_pres_exec(struct ast_channel *chan, void *data)
                deprecated = 1;
                ast_log(LOG_WARNING, "SetCallerPres is deprecated.  Please use Set(CALLERPRES()=%s) instead.\n", (char *)data);
        }
-       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) {
                ast_log(LOG_WARNING, "'%s' is not a valid presentation (see 'show application SetCallerPres')\n",