From 40da6434c1189e2557d20ea3871761cb34595257 Mon Sep 17 00:00:00 2001
From: George Joseph <george.joseph@fairview5.com>
Date: Mon, 1 Feb 2016 12:04:06 -0700
Subject: [PATCH] build_system:  Fix some warnings highlighted by clang

Fix some warnings found with clang.

Change-Id: I5195b6189b148c2ee3ed4a19d015a6d4ef3e77bd
---
 addons/res_config_mysql.c |  6 +++---
 apps/app_fax.c            |  4 ++--
 apps/app_meetme.c         |  2 +-
 apps/app_minivm.c         | 14 +++++++-------
 channels/chan_dahdi.c     |  2 +-
 channels/chan_motif.c     |  1 -
 channels/sig_analog.c     |  6 +++---
 main/manager.c            |  2 +-
 res/res_pjproject.c       |  2 ++
 9 files changed, 20 insertions(+), 19 deletions(-)

diff --git a/addons/res_config_mysql.c b/addons/res_config_mysql.c
index a805cb4b4d..c9fa7c7442 100644
--- a/addons/res_config_mysql.c
+++ b/addons/res_config_mysql.c
@@ -1518,7 +1518,7 @@ static int load_mysql_config(struct ast_config *config, const char *category, st
 	ast_debug(1, "MySQL RealTime database name: %s\n", conn->name);
 	ast_debug(1, "MySQL RealTime user: %s\n", conn->user);
 	ast_debug(1, "MySQL RealTime password: %s\n", conn->pass);
-	if(conn->charset)
+	if(!ast_strlen_zero(conn->charset))
 		ast_debug(1, "MySQL RealTime charset: %s\n", conn->charset);
 
 	return 1;
@@ -1533,13 +1533,13 @@ static int mysql_reconnect(struct mysql_conn *conn)
 	/* mutex lock should have been locked before calling this function. */
 
 reconnect_tryagain:
-	if ((!conn->connected) && (!ast_strlen_zero(conn->host) || conn->sock) && !ast_strlen_zero(conn->user) && !ast_strlen_zero(conn->name)) {
+	if ((!conn->connected) && (!ast_strlen_zero(conn->host) || !ast_strlen_zero(conn->sock)) && !ast_strlen_zero(conn->user) && !ast_strlen_zero(conn->name)) {
 		if (!mysql_init(&conn->handle)) {
 			ast_log(LOG_WARNING, "MySQL RealTime: Insufficient memory to allocate MySQL resource.\n");
 			conn->connected = 0;
 			return 0;
 		}
-		if(conn->charset && strlen(conn->charset) > 2){
+		if(strlen(conn->charset) > 2){
 			char set_names[255];
 			char statement[512];
 			snprintf(set_names, sizeof(set_names), "SET NAMES %s", conn->charset);
diff --git a/apps/app_fax.c b/apps/app_fax.c
index d6e9b4de01..bf57d827df 100644
--- a/apps/app_fax.c
+++ b/apps/app_fax.c
@@ -356,8 +356,8 @@ static int fax_generator_generate(struct ast_channel *chan, void *data, int len,
 }
 
 static struct ast_generator generator = {
-	alloc:		fax_generator_alloc,
-	generate: 	fax_generator_generate,
+	.alloc = fax_generator_alloc,
+	.generate = fax_generator_generate,
 };
 
 
diff --git a/apps/app_meetme.c b/apps/app_meetme.c
index ab6b94f3ee..791f75eb0a 100644
--- a/apps/app_meetme.c
+++ b/apps/app_meetme.c
@@ -2936,7 +2936,7 @@ static void meetme_menu_admin(enum menu_modes *menu_mode, int *dtmf, struct ast_
 		tweak_talk_volume(user, VOL_UP);
 		break;
 	default:
-		menu_mode = MENU_DISABLED;
+		*menu_mode = MENU_DISABLED;
 		/* Play an error message! */
 		if (!ast_streamfile(chan, "conf-errormenu", ast_channel_language(chan))) {
 			ast_waitstream(chan, "");
diff --git a/apps/app_minivm.c b/apps/app_minivm.c
index 4b1c4b5753..e97150b137 100644
--- a/apps/app_minivm.c
+++ b/apps/app_minivm.c
@@ -2998,10 +2998,10 @@ static char *handle_minivm_list_templates(struct ast_cli_entry *e, int cmd, stru
 	ast_cli(a->fd, HVLT_OUTPUT_FORMAT, "-------------", "-------", "------", "------------", "-------");
 	AST_LIST_TRAVERSE(&message_templates, this, list) {
 		ast_cli(a->fd, HVLT_OUTPUT_FORMAT, this->name, 
-			this->charset ? this->charset : "-", 
-			this->locale ? this->locale : "-",
+			S_OR(this->charset, "-"),
+			S_OR(this->locale, "-"),
 			this->attachment ? "Yes" : "No",
-			this->subject ? this->subject : "-");
+			S_OR(this->subject, "-"));
 		count++;
 	}
 	AST_LIST_UNLOCK(&message_templates);
@@ -3069,10 +3069,10 @@ static char *handle_minivm_show_users(struct ast_cli_entry *e, int cmd, struct a
 		if ((a->argc == 3) || ((a->argc == 5) && !strcmp(a->argv[4], vmu->domain))) {
 			count++;
 			snprintf(tmp, sizeof(tmp), "%s@%s", vmu->username, vmu->domain);
-			ast_cli(a->fd, HMSU_OUTPUT_FORMAT, tmp, vmu->etemplate ? vmu->etemplate : "-", 
-				vmu->ptemplate ? vmu->ptemplate : "-",
-				vmu->zonetag ? vmu->zonetag : "-", 
-				vmu->attachfmt ? vmu->attachfmt : "-",
+			ast_cli(a->fd, HMSU_OUTPUT_FORMAT, tmp, S_OR(vmu->etemplate, "-"),
+				S_OR(vmu->ptemplate, "-"),
+				S_OR(vmu->zonetag, "-"),
+				S_OR(vmu->attachfmt, "-"),
 				vmu->fullname);
 		}
 	}
diff --git a/channels/chan_dahdi.c b/channels/chan_dahdi.c
index 697c720e35..2d923433c5 100644
--- a/channels/chan_dahdi.c
+++ b/channels/chan_dahdi.c
@@ -4704,7 +4704,7 @@ static int drc_sample(int sample, float drc)
 	neg = (sample < 0 ? -1 : 1);
 	steep = drc*sample;
 	shallow = neg*(max-max/drc)+(float)sample/drc;
-	if (abs(steep) < abs(shallow)) {
+	if (fabsf(steep) < fabsf(shallow)) {
 		sample = steep;
 	}
 	else {
diff --git a/channels/chan_motif.c b/channels/chan_motif.c
index 15a7b4d6d7..118d1d9fb1 100644
--- a/channels/chan_motif.c
+++ b/channels/chan_motif.c
@@ -320,7 +320,6 @@ struct jingle_session {
 	ast_callid callid;                    /*!< Bound session call-id */
 };
 
-static const char desc[] = "Motif Jingle Channel";
 static const char channel_type[] = "Motif";
 
 struct jingle_config {
diff --git a/channels/sig_analog.c b/channels/sig_analog.c
index 0608c3429f..110942cba0 100644
--- a/channels/sig_analog.c
+++ b/channels/sig_analog.c
@@ -70,7 +70,7 @@ static char analog_defaultozz[64] = "";
 
 static const struct {
 	enum analog_sigtype sigtype;
-	const char const *name;
+	const char *name;
 } sigtypes[] = {
 	{ ANALOG_SIG_FXOLS, "fxo_ls" },
 	{ ANALOG_SIG_FXOKS, "fxo_ks" },
@@ -97,7 +97,7 @@ static const struct {
 
 static const struct {
 	unsigned int cid_type;
-	const char const *name;
+	const char *name;
 } cidtypes[] = {
 	{ CID_SIG_BELL,   "bell" },
 	{ CID_SIG_V23,    "v23" },
@@ -2670,7 +2670,7 @@ static struct ast_frame *__analog_handle_event(struct analog_pvt *p, struct ast_
 {
 	int res, x;
 	int mysig;
-	enum analog_sub idx;
+	int idx;
 	char *c;
 	pthread_t threadid;
 	struct ast_channel *chan;
diff --git a/main/manager.c b/main/manager.c
index 6c692d5d51..2adcb3e5a6 100644
--- a/main/manager.c
+++ b/main/manager.c
@@ -2342,7 +2342,7 @@ static char *handle_showmanager(struct ast_cli_entry *e, int cmd, struct ast_cli
 		"        write perm: %s\n"
 		"   displayconnects: %s\n"
 		"allowmultiplelogin: %s\n",
-		(user->username ? user->username : "(N/A)"),
+		S_OR(user->username, "(N/A)"),
 		(user->secret ? "<Set>" : "(N/A)"),
 		((user->acl && !ast_acl_list_is_empty(user->acl)) ? "yes" : "no"),
 		user_authority_to_str(user->readperm, &rauthority),
diff --git a/res/res_pjproject.c b/res/res_pjproject.c
index e9f0d15c4b..9e08bf3e0e 100644
--- a/res/res_pjproject.c
+++ b/res/res_pjproject.c
@@ -125,6 +125,7 @@ static void capture_buildopts_cb(int level, const char *data, int len)
 	AST_VECTOR_ADD_SORTED(&buildopts, ast_strdup(ast_skip_blanks(data)), strcmp);
 }
 
+#pragma GCC diagnostic ignored "-Wformat-nonliteral"
 int ast_pjproject_get_buildopt(char *option, char *format_string, ...)
 {
 	int res = 0;
@@ -146,6 +147,7 @@ int ast_pjproject_get_buildopt(char *option, char *format_string, ...)
 
 	return res;
 }
+#pragma GCC diagnostic warning "-Wformat-nonliteral"
 
 void ast_pjproject_log_intercept_begin(int fd)
 {
-- 
GitLab