From e74584ca3c7bcb6d7ae186e6d2509e8e47f1e05c Mon Sep 17 00:00:00 2001 From: Steve Murphy <murf@digium.com> Date: Thu, 25 Sep 2008 22:21:28 +0000 Subject: [PATCH] (closes issue #13557) 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 | 8 ++++---- channels/chan_oss.c | 2 +- funcs/func_cut.c | 4 ++-- main/pbx.c | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/apps/app_playback.c b/apps/app_playback.c index b905a93357..4e6c3f530a 100644 --- a/apps/app_playback.c +++ b/apps/app_playback.c @@ -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; diff --git a/channels/chan_oss.c b/channels/chan_oss.c index 125fa156d4..20be029d31 100644 --- a/channels/chan_oss.c +++ b/channels/chan_oss.c @@ -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; } diff --git a/funcs/func_cut.c b/funcs/func_cut.c index 169fed6b5b..96779b661c 100644 --- a/funcs/func_cut.c +++ b/funcs/func_cut.c @@ -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++; } } diff --git a/main/pbx.c b/main/pbx.c index ea0294e006..af3090cdf1 100644 --- a/main/pbx.c +++ b/main/pbx.c @@ -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; -- GitLab