From a501cdb8c6c1413348275156049560031e64a1d9 Mon Sep 17 00:00:00 2001
From: Russell Bryant <russell@russellbryant.com>
Date: Sat, 21 Jan 2006 00:42:25 +0000
Subject: [PATCH] remove some useless checks after calls to ast_strdupa

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@8362 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 app.c      |  9 ++++-----
 callerid.c |  6 +-----
 channel.c  |  7 +------
 pbx.c      | 46 ++++++++++++----------------------------------
 4 files changed, 18 insertions(+), 50 deletions(-)

diff --git a/app.c b/app.c
index fedc95d572..bf7bd345be 100644
--- a/app.c
+++ b/app.c
@@ -1358,12 +1358,11 @@ static int ivr_dispatch(struct ast_channel *chan, struct ast_ivr_option *option,
 	case AST_ACTION_BACKLIST:
 		res = 0;
 		c = ast_strdupa(option->adata);
-		if (c) {
-			while((n = strsep(&c, ";")))
-				if ((res = ast_streamfile(chan, n, chan->language)) || (res = ast_waitstream(chan, (option->action == AST_ACTION_BACKLIST) ? AST_DIGIT_ANY : "")))
-					break;
-			ast_stopstream(chan);
+		while ((n = strsep(&c, ";"))) {
+			if ((res = ast_streamfile(chan, n, chan->language)) || (res = ast_waitstream(chan, (option->action == AST_ACTION_BACKLIST) ? AST_DIGIT_ANY : "")))
+				break;
 		}
+		ast_stopstream(chan);
 		return res;
 	default:
 		ast_log(LOG_NOTICE, "Unknown dispatch function %d, ignoring!\n", option->action);
diff --git a/callerid.c b/callerid.c
index 0f382fcc9a..333f0bac7c 100644
--- a/callerid.c
+++ b/callerid.c
@@ -995,12 +995,8 @@ int ast_callerid_split(const char *buf, char *name, int namelen, char *num, int
 {
 	char *tmp;
 	char *l = NULL, *n = NULL;
+	
 	tmp = ast_strdupa(buf);
-	if (!tmp) {
-		name[0] = '\0';
-		num[0] = '\0';
-		return -1;
-	}
 	ast_callerid_parse(tmp, &n, &l);
 	if (n)
 		ast_copy_string(name, n, namelen);
diff --git a/channel.c b/channel.c
index f331f6af82..8f0e5d2be9 100644
--- a/channel.c
+++ b/channel.c
@@ -3705,12 +3705,7 @@ ast_group_t ast_get_group(char *s)
 	int start=0, finish=0, x;
 	ast_group_t group = 0;
 
-	copy = ast_strdupa(s);
-	if (!copy) {
-		ast_log(LOG_ERROR, "Out of memory\n");
-		return 0;
-	}
-	c = copy;
+	c = copy = ast_strdupa(s);
 	
 	while ((piece = strsep(&c, ","))) {
 		if (sscanf(piece, "%d-%d", &start, &finish) == 2) {
diff --git a/pbx.c b/pbx.c
index 99840addff..79a2f6d3f8 100644
--- a/pbx.c
+++ b/pbx.c
@@ -1220,10 +1220,6 @@ char *ast_func_read(struct ast_channel *chan, const char *in, char *workspace, s
 	struct ast_custom_function *acfptr;
 
 	function = ast_strdupa(in);
-	if (!function) {
-		ast_log(LOG_ERROR, "Out of memory\n");
-		return ret;
-	}
 	if ((args = strchr(function, '('))) {
 		*args = '\0';
 		args++;
@@ -1255,10 +1251,6 @@ void ast_func_write(struct ast_channel *chan, const char *in, const char *value)
 	struct ast_custom_function *acfptr;
 
 	function = ast_strdupa(in);
-	if (!function) {
-		ast_log(LOG_ERROR, "Out of memory\n");
-		return;
-	}
 	if ((args = strchr(function, '('))) {
 		*args = '\0';
 		args++;
@@ -3349,7 +3341,7 @@ static int handle_show_dialplan(int fd, int argc, char *argv[])
 	if (argc == 3) {
 		char *splitter = ast_strdupa(argv[2]);
 		/* is there a '@' character? */
-		if (splitter && strchr(argv[2], '@')) {
+		if (strchr(argv[2], '@')) {
 			/* yes, split into exten & context ... */
 			exten   = strsep(&splitter, "@");
 			context = splitter;
@@ -5146,10 +5138,6 @@ static int pbx_builtin_resetcdr(struct ast_channel *chan, void *data)
 	
 	if (!ast_strlen_zero(data)) {
 		args = ast_strdupa(data);
-		if (!args) {
-			ast_log(LOG_ERROR, "Out of memory!\n");
-			return -1;
-		}
 		ast_app_parse_options(resetcdr_opts, &flags, NULL, args);
 	}
 
@@ -5187,7 +5175,7 @@ static int pbx_builtin_hangup(struct ast_channel *chan, void *data)
  */
 static int pbx_builtin_gotoiftime(struct ast_channel *chan, void *data)
 {
-	int res=0;
+	int res = 0;
 	char *s, *ts;
 	struct ast_timing timing;
 
@@ -5196,18 +5184,15 @@ static int pbx_builtin_gotoiftime(struct ast_channel *chan, void *data)
 		return -1;
 	}
 
-	if ((s = ast_strdupa(data))) {
-		ts = s;
+	ts = s = ast_strdupa(data);
 
-		/* Separate the Goto path */
-		strsep(&ts,"?");
+	/* Separate the Goto path */
+	strsep(&ts,"?");
 
-		/* struct ast_include include contained garbage here, fixed by zeroing it on get_timerange */
-		if (ast_build_timing(&timing, s) && ast_check_timing(&timing))
-			res = pbx_builtin_goto(chan, (void *)ts);
-	} else {
-		ast_log(LOG_ERROR, "Memory Error!\n");
-	}
+	/* struct ast_include include contained garbage here, fixed by zeroing it on get_timerange */
+	if (ast_build_timing(&timing, s) && ast_check_timing(&timing))
+		res = pbx_builtin_goto(chan, (void *)ts);
+	
 	return res;
 }
 
@@ -5227,17 +5212,11 @@ static int pbx_builtin_execiftime(struct ast_channel *chan, void *data)
 		return -1;
 	}
 
-	ptr1 = ast_strdupa(data);
-
-	if (!ptr1) {
-		ast_log(LOG_ERROR, "Out of Memory!\n");
-		return -1;	
-	}
+	ptr2 = ptr1 = ast_strdupa(data);
 
-	ptr2 = ptr1;
 	/* Separate the Application data ptr1 is the time spec ptr2 is the app|data */
 	strsep(&ptr2,"?");
-	if(!ast_build_timing(&timing, ptr1)) {
+	if (!ast_build_timing(&timing, ptr1)) {
 		ast_log(LOG_WARNING, "Invalid Time Spec: %s\nCorrect usage: %s\n", ptr1, usage);
 		res = -1;
 	}
@@ -6004,8 +5983,7 @@ int ast_parseable_goto(struct ast_channel *chan, const char *goto_string)
 		ast_log(LOG_WARNING, "Goto requires an argument (optional context|optional extension|priority)\n");
 		return -1;
 	}
-	s = ast_strdupa(goto_string);
-	stringp=s;
+	stringp = s = ast_strdupa(goto_string);
 	context = strsep(&stringp, "|");
 	exten = strsep(&stringp, "|");
 	if (!exten) {
-- 
GitLab