Fix the playtones app so that we can pass the tones as an argument ( we don't need...
authorMartin Pycko <martinp@digium.com>
Tue, 17 Jun 2003 18:59:58 +0000 (18:59 +0000)
committerMartin Pycko <martinp@digium.com>
Tue, 17 Jun 2003 18:59:58 +0000 (18:59 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1102 65c4cc65-6c06-0410-ace0-fbb531ad65f3

indications.c

index ccfd04e..62500a7 100755 (executable)
@@ -143,6 +143,7 @@ int ast_playtones_start(struct ast_channel *chan, int vol, const char *playlst,
        char *s, *data = ast_strdupa(playlst); /* cute */
        struct playtones_def d = { vol, -1, 0, 1, NULL};
        char *stringp=NULL;
+       char *separator;
        if (!data)
                return -1;
        if (vol < 1)
@@ -151,7 +152,13 @@ int ast_playtones_start(struct ast_channel *chan, int vol, const char *playlst,
        d.interruptible = interruptible;
        
        stringp=data;
-       s = strsep(&stringp,",");
+       /* the stringp/data is not null here */
+       /* check if the data is separated with '|' or with ',' by default */
+       if (strchr(stringp,'|'))
+               separator = "|";
+       else
+               separator = ",";
+       s = strsep(&stringp,separator);
         while(s && *s) {
                int freq1, freq2, time;
 
@@ -184,7 +191,7 @@ int ast_playtones_start(struct ast_channel *chan, int vol, const char *playlst,
                d.items[d.nitems].duration = time;
                d.nitems++;
 
-               s = strsep(&stringp,",");
+               s = strsep(&stringp,separator);
        }
 
        if (ast_activate_generator(chan, &playtones, &d)) {