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