This update fixes the problem reported in bug 8551; that ast_app_getdata() behaves...
[asterisk/asterisk.git] / 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;