From b3e839debdc3d1042c736b451aa52ce5807e738c Mon Sep 17 00:00:00 2001
From: Corey Farrell <git@cfware.com>
Date: Mon, 18 Dec 2017 16:36:21 -0500
Subject: [PATCH] Remove constant conditionals (dead-code).

Some variables are set and never changed, making them constant.  This
means that code in the 'false' block of the conditional is unreachable.

In chan_skinny and res_config_ldap I used preprocessor directive `#if 0`
as I'm unsure if the unreachable code could be enabled in the future.

Change-Id: I62e2aac353d739fb3c983cf768933120f5fba059
---
 channels/chan_skinny.c   |  6 ++++++
 main/manager_system.c    |  9 --------
 main/stdtime/localtime.c | 46 ++++++----------------------------------
 main/xmldoc.c            |  6 +++---
 res/res_config_ldap.c    |  4 ++++
 5 files changed, 19 insertions(+), 52 deletions(-)

diff --git a/channels/chan_skinny.c b/channels/chan_skinny.c
index 6f4231acdb..0093a1fcb2 100644
--- a/channels/chan_skinny.c
+++ b/channels/chan_skinny.c
@@ -4753,15 +4753,19 @@ static void start_rtp(struct skinny_subchannel *sub)
 {
 	struct skinny_line *l = sub->line;
 	struct skinny_device *d = l->device;
+#if 0
 	int hasvideo = 0;
+#endif
 	struct ast_sockaddr bindaddr_tmp;
 
 	skinny_locksub(sub);
 	SKINNY_DEBUG(DEBUG_AUDIO, 3, "Sub %u - Starting RTP\n", sub->callid);
 	ast_sockaddr_from_sin(&bindaddr_tmp, &bindaddr);
 	sub->rtp = ast_rtp_instance_new("asterisk", sched, &bindaddr_tmp, NULL);
+#if 0
 	if (hasvideo)
 		sub->vrtp = ast_rtp_instance_new("asterisk", sched, &bindaddr_tmp, NULL);
+#endif
 
 	if (sub->rtp) {
 		ast_rtp_instance_set_prop(sub->rtp, AST_RTP_PROPERTY_RTCP, 1);
@@ -4775,11 +4779,13 @@ static void start_rtp(struct skinny_subchannel *sub)
 		ast_channel_set_fd(sub->owner, 0, ast_rtp_instance_fd(sub->rtp, 0));
 		ast_channel_set_fd(sub->owner, 1, ast_rtp_instance_fd(sub->rtp, 1));
 	}
+#if 0
 	if (hasvideo && sub->vrtp && sub->owner) {
 		ast_rtp_instance_set_channel_id(sub->vrtp, ast_channel_uniqueid(sub->owner));
 		ast_channel_set_fd(sub->owner, 2, ast_rtp_instance_fd(sub->vrtp, 0));
 		ast_channel_set_fd(sub->owner, 3, ast_rtp_instance_fd(sub->vrtp, 1));
 	}
+#endif
 	if (sub->rtp) {
 		ast_rtp_instance_set_qos(sub->rtp, qos.tos_audio, qos.cos_audio, "Skinny RTP");
 		ast_rtp_instance_set_prop(sub->rtp, AST_RTP_PROPERTY_NAT, l->nat);
diff --git a/main/manager_system.c b/main/manager_system.c
index b20deea65f..8ef15e3a3d 100644
--- a/main/manager_system.c
+++ b/main/manager_system.c
@@ -42,7 +42,6 @@ static void manager_system_shutdown(void)
 
 int manager_system_init(void)
 {
-	int ret = 0;
 	struct stasis_topic *manager_topic;
 	struct stasis_topic *system_topic;
 	struct stasis_message_router *message_router;
@@ -67,13 +66,5 @@ int manager_system_init(void)
 
 	ast_register_cleanup(manager_system_shutdown);
 
-	/* If somehow we failed to add any routes, just shut down the whole
-	 * thing and fail it.
-	 */
-	if (ret) {
-		manager_system_shutdown();
-		return -1;
-	}
-
 	return 0;
 }
diff --git a/main/stdtime/localtime.c b/main/stdtime/localtime.c
index 88b8020286..eac199a119 100644
--- a/main/stdtime/localtime.c
+++ b/main/stdtime/localtime.c
@@ -1506,16 +1506,14 @@ static int tzparse(const char *name, struct state *sp, const int lastditch)
 			}
 		} else {
 			long	theirstdoffset;
-			long	theirdstoffset;
 			long	theiroffset;
-			int	isdst;
 			int	i;
 			int	j;
 
 			if (*name != '\0')
 				return -1;
 			/*
-			** Initial values of theirstdoffset and theirdstoffset.
+			** Initial values of theirstdoffset.
 			*/
 			theirstdoffset = 0;
 			for (i = 0; i < sp->timecnt; ++i) {
@@ -1526,19 +1524,6 @@ static int tzparse(const char *name, struct state *sp, const int lastditch)
 					break;
 				}
 			}
-			theirdstoffset = 0;
-			for (i = 0; i < sp->timecnt; ++i) {
-				j = sp->types[i];
-				if (sp->ttis[j].tt_isdst) {
-					theirdstoffset =
-						-sp->ttis[j].tt_gmtoff;
-					break;
-				}
-			}
-			/*
-			** Initially we're assumed to be in standard time.
-			*/
-			isdst = FALSE;
 			theiroffset = theirstdoffset;
 			/*
 			** Now juggle transition times and types
@@ -1550,32 +1535,13 @@ static int tzparse(const char *name, struct state *sp, const int lastditch)
 				if (sp->ttis[j].tt_ttisgmt) {
 					/* No adjustment to transition time */
 				} else {
-					/*
-					** If summer time is in effect, and the
-					** transition time was not specified as
-					** standard time, add the summer time
-					** offset to the transition time;
-					** otherwise, add the standard time
-					** offset to the transition time.
-					*/
-					/*
-					** Transitions from DST to DDST
-					** will effectively disappear since
-					** POSIX provides for only one DST
-					** offset.
-					*/
-					if (isdst && !sp->ttis[j].tt_ttisstd) {
-						sp->ats[i] += dstoffset -
-							theirdstoffset;
-					} else {
-						sp->ats[i] += stdoffset -
-							theirstdoffset;
-					}
+					/* Add the standard time offset to the transition time. */
+					sp->ats[i] += stdoffset - theirstdoffset;
 				}
 				theiroffset = -sp->ttis[j].tt_gmtoff;
-				if (sp->ttis[j].tt_isdst)
-					theirdstoffset = theiroffset;
-				else	theirstdoffset = theiroffset;
+				if (!sp->ttis[j].tt_isdst) {
+					theirstdoffset = theiroffset;
+				}
 			}
 			/*
 			** Finally, fill in ttis.
diff --git a/main/xmldoc.c b/main/xmldoc.c
index e9a0afcb85..105bee0b40 100644
--- a/main/xmldoc.c
+++ b/main/xmldoc.c
@@ -1411,7 +1411,7 @@ static int xmldoc_parse_example(struct ast_xml_node *fixnode, struct ast_str **b
 static int xmldoc_parse_specialtags(struct ast_xml_node *fixnode, const char *tabs, const char *posttabs, struct ast_str **buffer)
 {
 	struct ast_xml_node *node = fixnode;
-	int ret = 0, i, count = 0;
+	int ret = 0, i;
 
 	if (!node || !ast_xml_node_get_children(node)) {
 		return ret;
@@ -1438,8 +1438,8 @@ static int xmldoc_parse_specialtags(struct ast_xml_node *fixnode, const char *ta
 		/* parse <para> elements inside special tags. */
 		for (node = ast_xml_node_get_children(node); node; node = ast_xml_node_get_next(node)) {
 			/* first <para> just print it without tabs at the begining. */
-			if ((xmldoc_parse_para(node, (!count ? "" : tabs), posttabs, buffer) == 2)
-				|| (xmldoc_parse_info(node, (!count ? "": tabs), posttabs, buffer) == 2)) {
+			if ((xmldoc_parse_para(node, "", posttabs, buffer) == 2)
+				|| (xmldoc_parse_info(node, "", posttabs, buffer) == 2)) {
 				ret = 2;
 			}
 		}
diff --git a/res/res_config_ldap.c b/res/res_config_ldap.c
index 8f24a8dc36..6d4b76da0c 100644
--- a/res/res_config_ldap.c
+++ b/res/res_config_ldap.c
@@ -309,8 +309,10 @@ static struct ast_variable *realtime_ldap_entry_to_var(struct ldap_table_config
 	BerElement *ber = NULL;
 	struct ast_variable *var = NULL;
 	struct ast_variable *prev = NULL;
+#if 0
 	int is_delimited = 0;
 	int i = 0;
+#endif
 	char *ldap_attribute_name;
 	struct berval *value;
 	int pos = 0;
@@ -338,6 +340,7 @@ static struct ast_variable *realtime_ldap_entry_to_var(struct ldap_table_config
 					ast_debug(2, "md5: %s\n", valptr);
 				}
 				if (valptr) {
+#if 0
 					/* ok, so looping through all delimited values except the last one (not, last character is not delimited...) */
 					if (is_delimited) {
 						i = 0;
@@ -358,6 +361,7 @@ static struct ast_variable *realtime_ldap_entry_to_var(struct ldap_table_config
 							i++;
 						}
 					}
+#endif
 					/* for the last delimited value or if the value is not delimited: */
 					if (prev) {
 						prev->next = ast_variable_new(attribute_name, &valptr[pos], table_config->table_name);
-- 
GitLab