(closes issue #13557)
authorSteve Murphy <murf@digium.com>
Thu, 25 Sep 2008 22:21:28 +0000 (22:21 +0000)
committerSteve Murphy <murf@digium.com>
Thu, 25 Sep 2008 22:21:28 +0000 (22:21 +0000)
Reported by: nickpeirson

The user attached a patch, but the license is not yet
recorded. I took the liberty of finding and replacing
ALL index() calls with strchr() calls, and that
involves more than just main/pbx.c;

chan_oss, app_playback, func_cut also had calls
to index(), and I changed them out. 1.4 had no
references to index() at all.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@144569 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_playback.c
channels/chan_oss.c
funcs/func_cut.c
main/pbx.c

index b905a93..4e6c3f5 100644 (file)
@@ -200,13 +200,13 @@ static int do_say(say_args_t *a, const char *s, const char *options, int depth)
                ast_debug(2, "doing [%s]\n", fn);
 
                /* locate prefix and data, if any */
-               fmt = index(fn, ':');
+               fmt = strchr(fn, ':');
                if (!fmt || fmt == fn)  {       /* regular filename */
                        ret = s_streamwait3(a, fn);
                        continue;
                }
                fmt++;
-               data = index(fmt, ':'); /* colon before data */
+               data = strchr(fmt, ':');        /* colon before data */
                if (!data || data == fmt) {     /* simple prefix-fmt */
                        ret = do_say(a, fn, options, depth);
                        continue;
@@ -219,14 +219,14 @@ static int do_say(say_args_t *a, const char *s, const char *options, int depth)
                        if (*p == '\'') {/* file name - we trim them */
                                char *y;
                                strcpy(fn2, ast_skip_blanks(p+1));      /* make a full copy */
-                               y = index(fn2, '\'');
+                               y = strchr(fn2, '\'');
                                if (!y) {
                                        p = data;       /* invalid. prepare to end */
                                        break;
                                }
                                *y = '\0';
                                ast_trim_blanks(fn2);
-                               p = index(p+1, '\'');
+                               p = strchr(p+1, '\'');
                                ret = s_streamwait3(a, fn2);
                        } else {
                                int l = fmt-fn;
index 125fa15..20be029 100644 (file)
@@ -1299,7 +1299,7 @@ static void store_mixer(struct chan_oss_pvt *o, const char *s)
        int i;
 
        for (i = 0; i < strlen(s); i++) {
-               if (!isalnum(s[i]) && index(" \t-/", s[i]) == NULL) {
+               if (!isalnum(s[i]) && strchr(" \t-/", s[i]) == NULL) {
                        ast_log(LOG_WARNING, "Suspect char %c in mixer cmd, ignoring:\n\t%s\n", s[i], s);
                        return;
                }
index 169fed6..96779b6 100644 (file)
@@ -82,7 +82,7 @@ static int sort_internal(struct ast_channel *chan, char *data, char *buffer, siz
        /* Parse each into a struct */
        count2 = 0;
        while ((ptrkey = strsep(&strings, ","))) {
-               ptrvalue = index(ptrkey, ':');
+               ptrvalue = strchr(ptrkey, ':');
                if (!ptrvalue) {
                        count--;
                        continue;
@@ -171,7 +171,7 @@ static int cut_internal(struct ast_channel *chan, char *data, char *buffer, size
                                /* Get to start, if any */
                                if (num1 > 0) {
                                        while (tmp2 != (char *)NULL + 1 && curfieldnum < num1) {
-                                               tmp2 = index(tmp2, d) + 1;
+                                               tmp2 = strchr(tmp2, d) + 1;
                                                curfieldnum++;
                                        }
                                }
index ea0294e..af3090c 100644 (file)
@@ -1048,7 +1048,7 @@ static void pbx_destroy(struct ast_pbx *p)
  *     NULL
  *
  *   In the above, I could easily turn "N" into "23456789", but I think that a quick "if( *z >= '2' && *z <= '9' )" might take
- *   fewer CPU cycles than a call to index("23456789",*z), where *z is the char to match...
+ *   fewer CPU cycles than a call to strchr("23456789",*z), where *z is the char to match...
  *
  *   traversal is pretty simple: one routine merely traverses the alt list, and for each matching char in the pattern,  it calls itself
  *   on the corresponding next pointer, incrementing also the pointer of the string to be matched, and passing the total specificity and length.
@@ -1346,7 +1346,7 @@ static void new_find_extension(const char *str, struct scoreboard *score, struct
                                        return; /* the first match is all we need */
                                }
                        }
-               } else if (index(p->x, *str)) {
+               } else if (strchr(p->x, *str)) {
                        ast_debug(4, "Nothing strange about this match\n");
                        NEW_MATCHER_CHK_MATCH;
                        NEW_MATCHER_RECURSE;