This update fixes the problem reported in bug 8551; that ast_app_getdata() behaves...
authorSteve Murphy <murf@digium.com>
Mon, 11 Dec 2006 17:00:36 +0000 (17:00 +0000)
committerSteve Murphy <murf@digium.com>
Mon, 11 Dec 2006 17:00:36 +0000 (17:00 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48388 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/app.c

index 91365f3..b2e2b8d 100644 (file)
@@ -115,14 +115,16 @@ int ast_app_getdata(struct ast_channel *c, const char *prompt, char *s, int maxl
        if (maxlen)
                s[0] = '\0';
 
-       if (ast_strlen_zero(prompt))
-               return -1;
+       if (!prompt)
+               prompt="";
 
        filename = ast_strdupa(prompt);
        while ((front = strsep(&filename, "&"))) {
-               res = ast_streamfile(c, front, c->language);
-               if (res)
-                       continue;
+               if (!ast_strlen_zero(front)) {
+                       res = ast_streamfile(c, front, c->language);
+                       if (res)
+                               continue;
+               }
                if (ast_strlen_zero(filename)) {
                        /* set timeouts for the last prompt */
                        fto = c->pbx ? c->pbx->rtimeout * 1000 : 6000;