Make directory spell name if available
authorMark Spencer <markster@digium.com>
Mon, 3 May 2004 04:36:46 +0000 (04:36 +0000)
committerMark Spencer <markster@digium.com>
Mon, 3 May 2004 04:36:46 +0000 (04:36 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2869 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_directory.c

index 658798d..8f0de92 100755 (executable)
@@ -125,6 +125,7 @@ static int do_directory(struct ast_channel *chan, struct ast_config *cfg, char *
 {
        /* Read in the first three digits..  "digit" is the first digit, already read */
        char ext[NUMDIGITS + 1];
+       char name[80] = "";
        struct ast_variable *v;
        int res;
        int found=0;
@@ -152,6 +153,7 @@ static int do_directory(struct ast_channel *chan, struct ast_config *cfg, char *
                                        strsep(&stringp, ",");
                                        pos = strsep(&stringp, ",");
                                        if (pos) {
+                                               strncpy(name, pos, sizeof(name) - 1);
                                                /* Grab the last name */
                                                if (strrchr(pos, ' '))
                                                        pos = strrchr(pos, ' ') + 1;
@@ -188,7 +190,7 @@ static int do_directory(struct ast_channel *chan, struct ast_config *cfg, char *
                                                res = ast_waitstream(chan, AST_DIGIT_ANY);
                                        ast_stopstream(chan);
                                } else {
-                                       res = ast_say_digit_str(chan, v->name, AST_DIGIT_ANY, chan->language);
+                                       res = ast_say_character_str(chan, strlen(name) ? name : v->name, AST_DIGIT_ANY, chan->language);
                                }
 ahem:
                                if (!res)