From d0b003a4270a7b8510fcbdc5c398fe579f33f966 Mon Sep 17 00:00:00 2001
From: Russell Bryant <russell@russellbryant.com>
Date: Sun, 26 Mar 2006 16:08:42 +0000
Subject: [PATCH] conversions to S_OR (issue #6803)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@15022 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 cdr.c                 | 24 ++++++++++++------------
 channels/chan_agent.c |  2 +-
 manager.c             |  8 ++++----
 3 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/cdr.c b/cdr.c
index 323c8ade2a..567541ad7c 100644
--- a/cdr.c
+++ b/cdr.c
@@ -439,7 +439,7 @@ void ast_cdr_free(struct ast_cdr *cdr)
 
 	while (cdr) {
 		next = cdr->next;
-		chan = !ast_strlen_zero(cdr->channel) ? cdr->channel : "<unknown>";
+		chan = S_OR(cdr->channel, "<unknown>");
 		if (!ast_test_flag(cdr, AST_CDR_FLAG_POSTED) && !ast_test_flag(cdr, AST_CDR_FLAG_POST_DISABLED))
 			ast_log(LOG_WARNING, "CDR on channel '%s' not posted\n", chan);
 		if (ast_tvzero(cdr->end))
@@ -464,7 +464,7 @@ void ast_cdr_start(struct ast_cdr *cdr)
 
 	while (cdr) {
 		if (!ast_test_flag(cdr, AST_CDR_FLAG_LOCKED)) {
-			chan = !ast_strlen_zero(cdr->channel) ? cdr->channel : "<unknown>";
+			chan = S_OR(cdr->channel, "<unknown>");
 			if (ast_test_flag(cdr, AST_CDR_FLAG_POSTED))
 				ast_log(LOG_WARNING, "CDR on channel '%s' already posted\n", chan);
 			if (!ast_tvzero(cdr->start))
@@ -480,7 +480,7 @@ void ast_cdr_answer(struct ast_cdr *cdr)
 	char *chan; 
 
 	while (cdr) {
-		chan = !ast_strlen_zero(cdr->channel) ? cdr->channel : "<unknown>";
+		chan = S_OR(cdr->channel, "<unknown>");
 		if (ast_test_flag(cdr, AST_CDR_FLAG_POSTED))
 			ast_log(LOG_WARNING, "CDR on channel '%s' already posted\n", chan);
 		if (cdr->disposition < AST_CDR_ANSWERED)
@@ -497,7 +497,7 @@ void ast_cdr_busy(struct ast_cdr *cdr)
 
 	while (cdr) {
 		if (!ast_test_flag(cdr, AST_CDR_FLAG_LOCKED)) {
-			chan = !ast_strlen_zero(cdr->channel) ? cdr->channel : "<unknown>";
+			chan = S_OR(cdr->channel, "<unknown>");
 			if (ast_test_flag(cdr, AST_CDR_FLAG_POSTED))
 				ast_log(LOG_WARNING, "CDR on channel '%s' already posted\n", chan);
 			if (cdr->disposition < AST_CDR_BUSY)
@@ -512,7 +512,7 @@ void ast_cdr_failed(struct ast_cdr *cdr)
 	char *chan; 
 
 	while (cdr) {
-		chan = !ast_strlen_zero(cdr->channel) ? cdr->channel : "<unknown>";
+		chan = S_OR(cdr->channel, "<unknown>");
 		if (ast_test_flag(cdr, AST_CDR_FLAG_POSTED))
 			ast_log(LOG_WARNING, "CDR on channel '%s' already posted\n", chan);
 		if (!ast_test_flag(cdr, AST_CDR_FLAG_LOCKED)) {
@@ -554,7 +554,7 @@ void ast_cdr_setdestchan(struct ast_cdr *cdr, const char *chann)
 	char *chan; 
 
 	while (cdr) {
-		chan = !ast_strlen_zero(cdr->channel) ? cdr->channel : "<unknown>";
+		chan = S_OR(cdr->channel, "<unknown>");
 		if (ast_test_flag(cdr, AST_CDR_FLAG_POSTED))
 			ast_log(LOG_WARNING, "CDR on channel '%s' already posted\n", chan);
 		if (!ast_test_flag(cdr, AST_CDR_FLAG_LOCKED))
@@ -569,7 +569,7 @@ void ast_cdr_setapp(struct ast_cdr *cdr, char *app, char *data)
 
 	while (cdr) {
 		if (!ast_test_flag(cdr, AST_CDR_FLAG_LOCKED)) {
-			chan = !ast_strlen_zero(cdr->channel) ? cdr->channel : "<unknown>";
+			chan = S_OR(cdr->channel, "<unknown>");
 			if (ast_test_flag(cdr, AST_CDR_FLAG_POSTED))
 				ast_log(LOG_WARNING, "CDR on channel '%s' already posted\n", chan);
 			if (!app)
@@ -617,7 +617,7 @@ int ast_cdr_init(struct ast_cdr *cdr, struct ast_channel *c)
 
 	while (cdr) {
 		if (!ast_test_flag(cdr, AST_CDR_FLAG_LOCKED)) {
-			chan = !ast_strlen_zero(cdr->channel) ? cdr->channel : "<unknown>";
+			chan = S_OR(cdr->channel, "<unknown>");
 			if (!ast_strlen_zero(cdr->channel)) 
 				ast_log(LOG_WARNING, "CDR already initialized on '%s'\n", chan); 
 			ast_copy_string(cdr->channel, c->name, sizeof(cdr->channel));
@@ -652,7 +652,7 @@ void ast_cdr_end(struct ast_cdr *cdr)
 	char *chan;
 
 	while (cdr) {
-		chan = !ast_strlen_zero(cdr->channel) ? cdr->channel : "<unknown>";
+		chan = S_OR(cdr->channel, "<unknown>");
 		if (ast_test_flag(cdr, AST_CDR_FLAG_POSTED))
 			ast_log(LOG_WARNING, "CDR on channel '%s' already posted\n", chan);
 		if (ast_tvzero(cdr->end))
@@ -778,8 +778,8 @@ int ast_cdr_update(struct ast_channel *c)
 			/* Copy account code et-al */	
 			ast_copy_string(cdr->accountcode, c->accountcode, sizeof(cdr->accountcode));
 			/* Destination information */
-			ast_copy_string(cdr->dst, (ast_strlen_zero(c->macroexten)) ? c->exten : c->macroexten, sizeof(cdr->dst));
-			ast_copy_string(cdr->dcontext, (ast_strlen_zero(c->macrocontext)) ? c->context : c->macrocontext, sizeof(cdr->dcontext));
+			ast_copy_string(cdr->dst, S_OR(c->macroexten, c->exten), sizeof(cdr->dst));
+			ast_copy_string(cdr->dcontext, S_OR(c->macrocontext, c->context), sizeof(cdr->dcontext));
 		}
 		cdr = cdr->next;
 	}
@@ -806,7 +806,7 @@ static void post_cdr(struct ast_cdr *cdr)
 	struct ast_cdr_beitem *i;
 
 	while (cdr) {
-		chan = !ast_strlen_zero(cdr->channel) ? cdr->channel : "<unknown>";
+		chan = S_OR(cdr->channel, "<unknown>");
 		if (ast_test_flag(cdr, AST_CDR_FLAG_POSTED))
 			ast_log(LOG_WARNING, "CDR on channel '%s' already posted\n", chan);
 		if (ast_tvzero(cdr->end))
diff --git a/channels/chan_agent.c b/channels/chan_agent.c
index e548f71827..6199dad50b 100644
--- a/channels/chan_agent.c
+++ b/channels/chan_agent.c
@@ -1230,7 +1230,7 @@ static int allow_multiple_login(char *chan,char *context)
 	if(!chan) 
 		return 0;
 
-	snprintf(loginchan, sizeof(loginchan), "%s@%s", chan, !ast_strlen_zero(context) ? context : "default");
+	snprintf(loginchan, sizeof(loginchan), "%s@%s", chan, S_OR(context,"default"));
 	
 	AST_LIST_TRAVERSE(&agents, p, list) {
 		if(!strcasecmp(chan, p->loginchan))
diff --git a/manager.c b/manager.c
index 47badecace..b3d293fef2 100644
--- a/manager.c
+++ b/manager.c
@@ -998,13 +998,13 @@ static void *fast_originate(void *data)
 
 	if (!ast_strlen_zero(in->app)) {
 		res = ast_pbx_outgoing_app(in->tech, AST_FORMAT_SLINEAR, in->data, in->timeout, in->app, in->appdata, &reason, 1, 
-			!ast_strlen_zero(in->cid_num) ? in->cid_num : NULL, 
-			!ast_strlen_zero(in->cid_name) ? in->cid_name : NULL,
+			S_OR(in->cid_num, NULL), 
+			S_OR(in->cid_name, NULL),
 			in->vars, in->account, &chan);
 	} else {
 		res = ast_pbx_outgoing_exten(in->tech, AST_FORMAT_SLINEAR, in->data, in->timeout, in->context, in->exten, in->priority, &reason, 1, 
-			!ast_strlen_zero(in->cid_num) ? in->cid_num : NULL, 
-			!ast_strlen_zero(in->cid_name) ? in->cid_name : NULL,
+			S_OR(in->cid_num, NULL), 
+			S_OR(in->cid_name, NULL),
 			in->vars, in->account, &chan);
 	}   
 	
-- 
GitLab