[PATCH 2/2] Allowing CFLAGS="-Wall -Wextra -Werror" configuration

Doron Tsur <[email protected]>
Newsgroups gmane.linux.keepalived.devel
Message-ID <[email protected]>
Tests: .../keepalived/configure
--prefix=/usr/local CFLAGS="-Wall -Wextra -Werror" && make && make
DESTDIR=/builds/keepalived_install install
Signed-off-by: Doron Tsur <[email protected]>
---
 genhash/layer4.c                 |    9 ++++++++-
 genhash/main.c                   |    2 +-
 keepalived/check/check_daemon.c  |    6 +++---
 keepalived/check/check_http.c    |    2 +-
 keepalived/check/check_misc.c    |    6 ++++--
 keepalived/check/check_parser.c  |   12 ++++++------
 keepalived/check/check_smtp.c    |    4 ++--
 keepalived/check/check_ssl.c     |    4 ++--
 keepalived/check/check_tcp.c     |    2 +-
 keepalived/core/global_parser.c  |    6 +++---
 keepalived/core/layer4.c         |    2 +-
 keepalived/core/main.c           |    4 ++--
 keepalived/core/smtp.c           |    2 +-
 keepalived/include/vrrp_if.h     |    4 ++--
 keepalived/libipvs-2.6/libipvs.c |   10 ++++++----
 keepalived/vrrp/vrrp.c           |    8 ++++----
 keepalived/vrrp/vrrp_daemon.c    |    6 +++---
 keepalived/vrrp/vrrp_data.c      |    2 +-
 keepalived/vrrp/vrrp_if.c        |    6 +++---
 keepalived/vrrp/vrrp_ipaddress.c |    3 ++-
 keepalived/vrrp/vrrp_iproute.c   |    2 +-
 keepalived/vrrp/vrrp_netlink.c   |   12 ++++++------
 keepalived/vrrp/vrrp_parser.c    |   18 +++++++++---------
 keepalived/vrrp/vrrp_scheduler.c |    6 ++++--
 keepalived/vrrp/vrrp_sync.c      |    4 ++--
 lib/buffer.c                     |    9 +++++++--
 lib/command.c                    |   24 ++++++++++++------------
 lib/html.c                       |    2 +-
 lib/parser.c                     |   15 ++++++++-------
 lib/scheduler.c                  |    2 +-
 lib/vector.c                     |    6 +++---
 lib/vty.c                        |    8 ++++----
 32 files changed, 114 insertions(+), 94 deletions(-)

diff --git a/genhash/layer4.c b/genhash/layer4.c
index ba7b05b..a8be54d 100644
--- a/genhash/layer4.c
+++ b/genhash/layer4.c
@@ -97,8 +97,15 @@ tcp_connect(int fd, REQ * req_obj)
 	return connect_in_progress;
 }
 
+#ifdef _DEBUG_
+#define tcp_socket_state_ip_dbg_ATTRIBUTE
+#else
+#define tcp_socket_state_ip_dbg_ATTRIBUTE __attribute__((unused))
+#endif
 enum connect_result
-tcp_socket_state(int fd, thread_t * thread, char *ipaddress, uint16_t addr_port,
+tcp_socket_state(int fd __attribute((unused)), thread_t * thread,
+		 char *ipaddress tcp_socket_state_ip_dbg_ATTRIBUTE,
+		 uint16_t addr_port tcp_socket_state_ip_dbg_ATTRIBUTE,
 		 int (*func) (thread_t *))
 {
 	int status;
diff --git a/genhash/main.c b/genhash/main.c
index dd767a3..da67322 100644
--- a/genhash/main.c
+++ b/genhash/main.c
@@ -39,7 +39,7 @@ REQ *req = NULL;
 
 /* Terminate handler */
 void
-sigend(void *v, int sig)
+sigend(void *v __attribute__((unused)), int sig __attribute__((unused)))
 {
 	/* register the terminate thread */
 	thread_add_terminate_event(master);
diff --git a/keepalived/check/check_daemon.c b/keepalived/check/check_daemon.c
index 29dd6d2..90522b0 100644
--- a/keepalived/check/check_daemon.c
+++ b/keepalived/check/check_daemon.c
@@ -149,14 +149,14 @@ start_check(void)
 /* Reload handler */
 int reload_check_thread(thread_t *);
 void
-sighup_check(void *v, int sig)
+sighup_check(void *v __attribute__((unused)), int sig __attribute__((unused)))
 {
 	thread_add_event(master, reload_check_thread, NULL, 0);
 }
 
 /* Terminate handler */
 void
-sigend_check(void *v, int sig)
+sigend_check(void *v __attribute__((unused)), int sig __attribute__((unused)))
 {
 	if (master)
 		thread_add_terminate_event(master);
@@ -175,7 +175,7 @@ check_signal_init(void)
 
 /* Reload thread */
 int
-reload_check_thread(thread_t * thread)
+reload_check_thread(thread_t * thread __attribute__((unused)))
 {
 	/* set the reloading flag */
 	SET_RELOAD;
diff --git a/keepalived/check/check_http.c b/keepalived/check/check_http.c
index 5184338..1253cd9 100644
--- a/keepalived/check/check_http.c
+++ b/keepalived/check/check_http.c
@@ -154,7 +154,7 @@ delay_before_retry_handler(vector_t *strvec)
 }
 
 void
-url_handler(vector_t *strvec)
+url_handler(vector_t *strvec __attribute__((unused)))
 {
 	http_checker_t *http_get_chk = CHECKER_GET();
 	url_t *new;
diff --git a/keepalived/check/check_misc.c b/keepalived/check/check_misc.c
index c01ccea..5c60f96 100644
--- a/keepalived/check/check_misc.c
+++ b/keepalived/check/check_misc.c
@@ -61,7 +61,7 @@ dump_misc_check(void *data)
 }
 
 void
-misc_check_handler(vector_t *strvec)
+misc_check_handler(vector_t *strvec __attribute__((unused)))
 {
 	misc_checker_t *misck_checker = (misc_checker_t *) MALLOC(sizeof (misc_checker_t));
 
@@ -85,7 +85,7 @@ misc_timeout_handler(vector_t *strvec)
 }
 
 void
-misc_dynamic_handler(vector_t *strvec)
+misc_dynamic_handler(vector_t *strvec __attribute__((unused)))
 {
 	misc_checker_t *misck_checker = CHECKER_GET();
 	misck_checker->dynamic = 1;
@@ -263,8 +263,10 @@ misc_check_child_timeout_thread(thread_t * thread)
 	pid = THREAD_CHILD_PID(thread);
 	if (kill(pid, SIGKILL) < 0) {
 		/* Its possible it finished while we're handing this */
+#ifdef _DEBUG_
 		if (errno != ESRCH)
 			DBG("kill error: %s", strerror(errno));
+#endif
 		return 0;
 	}
 
diff --git a/keepalived/check/check_parser.c b/keepalived/check/check_parser.c
index e05a999..720fda0 100644
--- a/keepalived/check/check_parser.c
+++ b/keepalived/check/check_parser.c
@@ -35,7 +35,7 @@
 
 /* SSL handlers */
 static void
-ssl_handler(vector_t *strvec)
+ssl_handler(vector_t *strvec __attribute__((unused)))
 {
 	check_data->ssl = alloc_ssl();
 }
@@ -145,13 +145,13 @@ proto_handler(vector_t *strvec)
 	vs->service_type = (!strcmp(str, "TCP")) ? IPPROTO_TCP : IPPROTO_UDP;
 }
 static void
-hasuspend_handler(vector_t *strvec)
+hasuspend_handler(vector_t *strvec __attribute__((unused)))
 {
 	virtual_server_t *vs = LIST_TAIL_DATA(check_data->vs);
 	vs->ha_suspend = 1;
 }
 static void
-ops_handler(vector_t *strvec)
+ops_handler(vector_t *strvec __attribute__((unused)))
 {
 	virtual_server_t *vs = LIST_TAIL_DATA(check_data->vs);
 	vs->ops = 1;
@@ -201,7 +201,7 @@ lthreshold_handler(vector_t *strvec)
 }
 #endif
 static void
-inhibit_handler(vector_t *strvec)
+inhibit_handler(vector_t *strvec __attribute__((unused)))
 {
 	virtual_server_t *vs = LIST_TAIL_DATA(check_data->vs);
 	real_server_t *rs = LIST_TAIL_DATA(vs->rs);
@@ -222,14 +222,14 @@ notify_down_handler(vector_t *strvec)
 	rs->notify_down = set_value(strvec);
 }
 static void
-alpha_handler(vector_t *strvec)
+alpha_handler(vector_t *strvec __attribute__((unused)))
 {
 	virtual_server_t *vs = LIST_TAIL_DATA(check_data->vs);
 	vs->alpha = 1;
 	vs->quorum_state = DOWN;
 }
 static void
-omega_handler(vector_t *strvec)
+omega_handler(vector_t *strvec __attribute__((unused)))
 {
 	virtual_server_t *vs = LIST_TAIL_DATA(check_data->vs);
 	vs->omega = 1;
diff --git a/keepalived/check/check_smtp.c b/keepalived/check/check_smtp.c
index 6384516..7a5938c 100644
--- a/keepalived/check/check_smtp.c
+++ b/keepalived/check/check_smtp.c
@@ -114,7 +114,7 @@ smtp_alloc_host(void)
  * in the config file. 
  */
 void
-smtp_check_handler(vector_t *strvec)
+smtp_check_handler(vector_t *strvec __attribute__((unused)))
 {
 	smtp_checker_t *smtp_checker = (smtp_checker_t *)MALLOC(sizeof(smtp_checker_t));
 
@@ -164,7 +164,7 @@ smtp_check_handler(vector_t *strvec)
  * in the config file. 
  */
 void
-smtp_host_handler(vector_t *strvec)
+smtp_host_handler(vector_t *strvec __attribute__((unused)))
 {
         smtp_checker_t *smtp_checker = CHECKER_GET();
 
diff --git a/keepalived/check/check_ssl.c b/keepalived/check/check_ssl.c
index 26e70e7..62190d9 100644
--- a/keepalived/check/check_ssl.c
+++ b/keepalived/check/check_ssl.c
@@ -45,10 +45,10 @@ clear_ssl(ssl_data_t *ssl)
 
 /* PEM password callback function */
 static int
-password_cb(char *buf, int num, int rwflag, void *userdata)
+password_cb(char *buf, int num, int rwflag __attribute__((unused)), void *userdata)
 {
 	ssl_data_t *ssl = (ssl_data_t *) userdata;
-	unsigned int plen = strlen(ssl->password);
+	int plen = (int)strlen(ssl->password);
 
 	if (num < plen + 1)
 		return (0);
diff --git a/keepalived/check/check_tcp.c b/keepalived/check/check_tcp.c
index 1138fd1..4ea5a4d 100644
--- a/keepalived/check/check_tcp.c
+++ b/keepalived/check/check_tcp.c
@@ -55,7 +55,7 @@ dump_tcp_check(void *data)
 }
 
 void
-tcp_check_handler(vector_t *strvec)
+tcp_check_handler(vector_t *strvec __attribute__((unused)))
 {
 	tcp_checker_t *tcp_chk = (tcp_checker_t *) MALLOC(sizeof (tcp_checker_t));
 
diff --git a/keepalived/core/global_parser.c b/keepalived/core/global_parser.c
index 7039671..0135ae3 100644
--- a/keepalived/core/global_parser.c
+++ b/keepalived/core/global_parser.c
@@ -34,7 +34,7 @@
 /* data handlers */
 /* Global def handlers */
 static void
-use_polling_handler(vector_t *strvec)
+use_polling_handler(vector_t *strvec __attribute__((unused)))
 {
 	global_data->linkbeat_use_polling = 1;
 }
@@ -66,10 +66,10 @@ smtpip_handler(vector_t *strvec)
 	inet_stosockaddr(vector_slot(strvec, 1), SMTP_PORT_STR, &global_data->smtp_server);
 }
 static void
-email_handler(vector_t *strvec)
+email_handler(vector_t *strvec __attribute__((unused)))
 {
 	vector_t *email_vec = read_value_block();
-	int i;
+	unsigned int i;
 	char *str;
 
 	for (i = 0; i < vector_size(email_vec); i++) {
diff --git a/keepalived/core/layer4.c b/keepalived/core/layer4.c
index 681664f..06e62ca 100644
--- a/keepalived/core/layer4.c
+++ b/keepalived/core/layer4.c
@@ -77,7 +77,7 @@ tcp_connect(int fd, struct sockaddr_storage *addr)
 }
 
 enum connect_result
-tcp_socket_state(int fd, thread_t * thread, int (*func) (thread_t *))
+tcp_socket_state(int fd __attribute__((unused)), thread_t * thread, int (*func) (thread_t *))
 {
 	int status;
 	socklen_t addrlen;
diff --git a/keepalived/core/main.c b/keepalived/core/main.c
index 7af3a49..905ab13 100644
--- a/keepalived/core/main.c
+++ b/keepalived/core/main.c
@@ -88,7 +88,7 @@ start_keepalived(void)
 
 /* SIGHUP handler */
 void
-sighup(void *v, int sig)
+sighup(void *v __attribute__((unused)), int sig __attribute__((unused)))
 {
 	/* Signal child process */
 	if (vrrp_child > 0)
@@ -99,7 +99,7 @@ sighup(void *v, int sig)
 
 /* Terminate handler */
 void
-sigend(void *v, int sig)
+sigend(void *v __attribute__((unused)), int sig __attribute__((unused)))
 {
 	int status;
 
diff --git a/keepalived/core/smtp.c b/keepalived/core/smtp.c
index 6b1cf7e..545e310 100644
--- a/keepalived/core/smtp.c
+++ b/keepalived/core/smtp.c
@@ -544,7 +544,7 @@ quit_cmd(thread_t * thread)
 	return 0;
 }
 static int
-quit_code(thread_t * thread, int status)
+quit_code(thread_t * thread, int status __attribute__((unused)))
 {
 	smtp_t *smtp = THREAD_ARG(thread);
 
diff --git a/keepalived/include/vrrp_if.h b/keepalived/include/vrrp_if.h
index dd2b178..7ed8059 100644
--- a/keepalived/include/vrrp_if.h
+++ b/keepalived/include/vrrp_if.h
@@ -110,8 +110,8 @@ typedef struct _tracked_if {
                     if_linkbeat(X))
 
 /* prototypes */
-extern interface_t *if_get_by_ifindex(const int);
-extern interface_t *if_get_by_vmac_base_ifindex(const int);
+extern interface_t *if_get_by_ifindex(const unsigned int);
+extern interface_t *if_get_by_vmac_base_ifindex(const unsigned int);
 extern interface_t *if_get_by_ifname(const char *);
 extern int if_linkbeat(const interface_t *);
 extern int if_mii_probe(const char *);
diff --git a/keepalived/libipvs-2.6/libipvs.c b/keepalived/libipvs-2.6/libipvs.c
index 223e76b..dea4110 100644
--- a/keepalived/libipvs-2.6/libipvs.c
+++ b/keepalived/libipvs-2.6/libipvs.c
@@ -54,6 +54,7 @@ static int family, try_nl = 1;
 	CHECK_IPV4(s, ret);					\
 	CHECK_PE(s, ret);
 
+#ifdef LIBIPVS_USE_NL
 #ifndef FALLBACK_LIBNL1
 static int nlerr2syserr(int err)
 {
@@ -78,6 +79,7 @@ static int nlerr2syserr(int err)
 	}
 }
 #endif
+#endif
 
 #ifdef LIBIPVS_USE_NL
 struct nl_msg *ipvs_nl_message(int cmd, int flags)
@@ -94,7 +96,7 @@ struct nl_msg *ipvs_nl_message(int cmd, int flags)
 	return msg;
 }
 
-static int ipvs_nl_noop_cb(struct nl_msg *msg, void *arg)
+static int ipvs_nl_noop_cb(struct nl_msg *msg __attribute__((unused)), void *arg __attribute__((unused)))
 {
 	return NL_OK;
 }
@@ -179,7 +181,7 @@ int ipvs_init(void)
 }
 
 #ifdef LIBIPVS_USE_NL
-static int ipvs_getinfo_parse_cb(struct nl_msg *msg, void *arg)
+static int ipvs_getinfo_parse_cb(struct nl_msg *msg, void *arg __attribute__((unused)))
 {
 	struct nlmsghdr *nlh = nlmsg_hdr(msg);
 	struct nlattr *attrs[IPVS_INFO_ATTR_MAX + 1];
@@ -684,7 +686,7 @@ struct ip_vs_get_services *ipvs_get_services(void)
 	struct ip_vs_get_services *get;
 	struct ip_vs_get_services_kern *getk;
 	socklen_t len;
-	int i;
+	unsigned int i;
 
 #ifdef LIBIPVS_USE_NL
 	if (try_nl) {
@@ -836,7 +838,7 @@ struct ip_vs_get_dests *ipvs_get_dests(ipvs_service_entry_t *svc)
 	struct ip_vs_get_dests *d;
 	struct ip_vs_get_dests_kern *dk;
 	socklen_t len;
-	int i;
+	unsigned int i;
 
 	len = sizeof(*d) + sizeof(ipvs_dest_entry_t) * svc->num_dests;
 	if (!(d = malloc(len)))
diff --git a/keepalived/vrrp/vrrp.c b/keepalived/vrrp/vrrp.c
index 1e91d45..11543f5 100644
--- a/keepalived/vrrp/vrrp.c
+++ b/keepalived/vrrp/vrrp.c
@@ -72,7 +72,7 @@ vrrp_handle_iproutes(vrrp_t * vrrp, int cmd)
 
 /* IP header length */
 static int
-vrrp_iphdr_len(vrrp_t * vrrp)
+vrrp_iphdr_len(vrrp_t * vrrp __attribute__((unused)))
 {
 	return sizeof(struct iphdr);
 }
@@ -196,7 +196,7 @@ vrrp_in_chk_ipsecah(vrrp_t * vrrp, char *buffer)
 static int
 vrrp_in_chk_vips(vrrp_t * vrrp, ip_address_t *ipaddress, unsigned char *buffer)
 {
-	int i;
+	unsigned int i;
 	uint32_t ipbuf;
 
 	/* Just skip IPv6 address, when we are using a mixed v4/v6 vips
@@ -257,7 +257,7 @@ vrrp_in_chk(vrrp_t * vrrp, char *buffer)
 		 * MUST verify that the received packet length is greater than or
 		 * equal to the VRRP header
 		 */
-		if ((ntohs(ip->tot_len) - ihl) <= sizeof(vrrphdr_t)) {
+		if ((ntohs(ip->tot_len) - ihl) <= (int)sizeof(vrrphdr_t)) {
 			log_message(LOG_INFO,
 			       "ip payload too short. %d and expect at least %d",
 			       ntohs(ip->tot_len) - ihl, sizeof(vrrphdr_t));
@@ -367,7 +367,7 @@ vrrp_in_chk(vrrp_t * vrrp, char *buffer)
 
 /* build IP header */
 static void
-vrrp_build_ip4(vrrp_t * vrrp, char *buffer, int buflen, uint32_t dst)
+vrrp_build_ip4(vrrp_t * vrrp, char *buffer, int buflen __attribute__((unused)), uint32_t dst)
 {
 	struct iphdr *ip = (struct iphdr *) (buffer);
 
diff --git a/keepalived/vrrp/vrrp_daemon.c b/keepalived/vrrp/vrrp_daemon.c
index 18886b2..7fa5c88 100644
--- a/keepalived/vrrp/vrrp_daemon.c
+++ b/keepalived/vrrp/vrrp_daemon.c
@@ -163,14 +163,14 @@ start_vrrp(void)
 /* Reload handler */
 int reload_vrrp_thread(thread_t * thread);
 void
-sighup_vrrp(void *v, int sig)
+sighup_vrrp(void *v __attribute__((unused)), int sig __attribute__((unused)))
 {
 	thread_add_event(master, reload_vrrp_thread, NULL, 0);
 }
 
 /* Terminate handler */
 void
-sigend_vrrp(void *v, int sig)
+sigend_vrrp(void *v __attribute__((unused)), int sig __attribute__((unused)))
 {
 	if (master)
 		thread_add_terminate_event(master);
@@ -189,7 +189,7 @@ vrrp_signal_init(void)
 
 /* Reload thread */
 int
-reload_vrrp_thread(thread_t * thread)
+reload_vrrp_thread(thread_t * thread __attribute__((unused)))
 {
 	/* set the reloading flag */
 	SET_RELOAD;
diff --git a/keepalived/vrrp/vrrp_data.c b/keepalived/vrrp/vrrp_data.c
index 7709fb4..b48a70a 100644
--- a/keepalived/vrrp/vrrp_data.c
+++ b/keepalived/vrrp/vrrp_data.c
@@ -71,7 +71,7 @@ static void
 dump_vgroup(void *data)
 {
 	vrrp_sgroup_t *vgroup = data;
-	int i;
+	unsigned int i;
 	char *str;
 
 	log_message(LOG_INFO, " VRRP Sync Group = %s, %s", vgroup->gname,
diff --git a/keepalived/vrrp/vrrp_if.c b/keepalived/vrrp/vrrp_if.c
index 3ae0218..e9a91b6 100644
--- a/keepalived/vrrp/vrrp_if.c
+++ b/keepalived/vrrp/vrrp_if.c
@@ -63,7 +63,7 @@ static struct ifreq ifr;
 /* Helper functions */
 /* Return interface from interface index */
 interface_t *
-if_get_by_ifindex(const int ifindex)
+if_get_by_ifindex(const unsigned int ifindex)
 {
 	interface_t *ifp;
 	element e;
@@ -81,7 +81,7 @@ if_get_by_ifindex(const int ifindex)
 
 /* Return interface from VMAC base interface index */
 interface_t *
-if_get_by_vmac_base_ifindex(const int ifindex)
+if_get_by_vmac_base_ifindex(const unsigned int ifindex)
 {
 	interface_t *ifp;
 	element e;
@@ -431,7 +431,7 @@ init_interface_linkbeat(void)
 }
 
 int
-if_join_vrrp_group(sa_family_t family, int *sd, interface_t *ifp, int proto)
+if_join_vrrp_group(sa_family_t family, int *sd, interface_t *ifp, int proto __attribute__((unused)))
 {
 	struct ip_mreqn imr;
 	struct ipv6_mreq imr6;
diff --git a/keepalived/vrrp/vrrp_ipaddress.c b/keepalived/vrrp/vrrp_ipaddress.c
index 4b64fa3..0131798 100644
--- a/keepalived/vrrp/vrrp_ipaddress.c
+++ b/keepalived/vrrp/vrrp_ipaddress.c
@@ -215,7 +215,8 @@ alloc_ipaddress(list ip_list, vector_t *strvec, interface_t *ifp)
 	ip_address_t *new;
 	interface_t *ifp_local;
 	char *str;
-	int i = 0, addr_idx =0;
+	int addr_idx =0;
+	unsigned int i = 0;
 
 	new = (ip_address_t *) MALLOC(sizeof(ip_address_t));
 	if (ifp) {
diff --git a/keepalived/vrrp/vrrp_iproute.c b/keepalived/vrrp/vrrp_iproute.c
index 74ee0ce..553d2fa 100644
--- a/keepalived/vrrp/vrrp_iproute.c
+++ b/keepalived/vrrp/vrrp_iproute.c
@@ -224,7 +224,7 @@ alloc_route(list rt_list, vector_t *strvec)
 	ip_route_t *new;
 	interface_t *ifp;
 	char *str;
-	int i = 0;
+	unsigned int i = 0;
 
 	new = (ip_route_t *) MALLOC(sizeof(ip_route_t));
 
diff --git a/keepalived/vrrp/vrrp_netlink.c b/keepalived/vrrp/vrrp_netlink.c
index 27dba9c..4c51c6f 100644
--- a/keepalived/vrrp/vrrp_netlink.c
+++ b/keepalived/vrrp/vrrp_netlink.c
@@ -155,7 +155,7 @@ addattr32(struct nlmsghdr *n, int maxlen, int type, uint32_t data)
 {
 	int len = RTA_LENGTH(4);
 	struct rtattr *rta;
-	if (NLMSG_ALIGN(n->nlmsg_len) + len > maxlen)
+	if ((int)(NLMSG_ALIGN(n->nlmsg_len)) + len > maxlen)
 		return -1;
 	rta = (struct rtattr*)(((char*)n) + NLMSG_ALIGN(n->nlmsg_len));
 	rta->rta_type = type;
@@ -171,7 +171,7 @@ addattr_l(struct nlmsghdr *n, int maxlen, int type, void *data, int alen)
 	int len = RTA_LENGTH(alen);
 	struct rtattr *rta;
 
-	if (NLMSG_ALIGN(n->nlmsg_len) + len > maxlen)
+	if ((int)(NLMSG_ALIGN(n->nlmsg_len)) + len > maxlen)
 		return -1;
 
 	rta = (struct rtattr *) (((char *) n) + NLMSG_ALIGN(n->nlmsg_len));
@@ -350,7 +350,7 @@ netlink_parse_info(int (*filter) (struct sockaddr_nl *, struct nlmsghdr *),
 
 /* Out talk filter */
 static int
-netlink_talk_filter(struct sockaddr_nl *snl, struct nlmsghdr *h)
+netlink_talk_filter(struct sockaddr_nl *snl __attribute__((unused)), struct nlmsghdr *h)
 {
 	log_message(LOG_INFO, "Netlink: ignoring message type 0x%04x",
 	       h->nlmsg_type);
@@ -431,7 +431,7 @@ netlink_request(nl_handle_t *nl, int family, int type)
 
 /* Netlink interface link lookup filter */
 static int
-netlink_if_link_filter(struct sockaddr_nl *snl, struct nlmsghdr *h)
+netlink_if_link_filter(struct sockaddr_nl *snl __attribute__((unused)), struct nlmsghdr *h)
 {
 	struct ifinfomsg *ifi;
 	struct rtattr *tb[IFLA_MAX + 1];
@@ -505,7 +505,7 @@ netlink_if_link_filter(struct sockaddr_nl *snl, struct nlmsghdr *h)
  * multiple secondary address to the same interface.
  */
 static int
-netlink_if_address_filter(struct sockaddr_nl *snl, struct nlmsghdr *h)
+netlink_if_address_filter(struct sockaddr_nl *snl __attribute__((unused)), struct nlmsghdr *h)
 {
 	struct ifaddrmsg *ifa;
 	struct rtattr *tb[IFA_MAX + 1];
@@ -628,7 +628,7 @@ end_addr:
 
 /* Netlink flag Link update */
 static int
-netlink_reflect_filter(struct sockaddr_nl *snl, struct nlmsghdr *h)
+netlink_reflect_filter(struct sockaddr_nl *snl __attribute__((unused)), struct nlmsghdr *h)
 {
 	struct ifinfomsg *ifi;
 	struct rtattr *tb[IFLA_MAX + 1];
diff --git a/keepalived/vrrp/vrrp_parser.c b/keepalived/vrrp/vrrp_parser.c
index 2868002..214f981 100644
--- a/keepalived/vrrp/vrrp_parser.c
+++ b/keepalived/vrrp/vrrp_parser.c
@@ -56,7 +56,7 @@ vrrp_sync_group_handler(vector_t *strvec)
 	alloc_vrrp_sync_group(vector_slot(strvec, 1));
 }
 static void
-vrrp_group_handler(vector_t *strvec)
+vrrp_group_handler(vector_t *strvec __attribute__((unused)))
 {
 	vrrp_sgroup_t *vgroup = LIST_TAIL_DATA(vrrp_data->vrrp_sync_group);
 	vgroup->iname = read_value_block();
@@ -90,13 +90,13 @@ vrrp_gnotify_handler(vector_t *strvec)
 	vgroup->notify_exec = 1;
 }
 static void
-vrrp_gsmtp_handler(vector_t *strvec)
+vrrp_gsmtp_handler(vector_t *strvec __attribute__((unused)))
 {
 	vrrp_sgroup_t *vgroup = LIST_TAIL_DATA(vrrp_data->vrrp_sync_group);
 	vgroup->smtp_alert = 1;
 }
 static void
-vrrp_gglobal_tracking_handler(vector_t *strvec)
+vrrp_gglobal_tracking_handler(vector_t *strvec __attribute__((unused)))
 {
 	vrrp_sgroup_t *vgroup = LIST_TAIL_DATA(vrrp_data->vrrp_sync_group);
 	vgroup->global_tracking = 1;
@@ -141,7 +141,7 @@ vrrp_unicast_peer_handler(vector_t *strvec)
 	alloc_value_block(strvec, alloc_vrrp_unicast_peer);
 }
 static void
-vrrp_native_ipv6_handler(vector_t *strvec)
+vrrp_native_ipv6_handler(vector_t *strvec __attribute__((unused)))
 {
 	vrrp_t *vrrp = LIST_TAIL_DATA(vrrp_data->vrrp);
 	vrrp->family = AF_INET6;
@@ -191,7 +191,7 @@ vrrp_track_scr_handler(vector_t *strvec)
 	alloc_value_block(strvec, alloc_vrrp_track_script);
 }
 static void
-vrrp_dont_track_handler(vector_t *strvec)
+vrrp_dont_track_handler(vector_t *strvec __attribute__((unused)))
 {
 	vrrp_t *vrrp = LIST_TAIL_DATA(vrrp_data->vrrp);
 	vrrp->dont_track_primary = 1;
@@ -266,13 +266,13 @@ vrrp_debug_handler(vector_t *strvec)
 	}
 }
 static void
-vrrp_nopreempt_handler(vector_t *strvec)
+vrrp_nopreempt_handler(vector_t *strvec __attribute__((unused)))
 {
 	vrrp_t *vrrp = LIST_TAIL_DATA(vrrp_data->vrrp);
 	vrrp->nopreempt = 1;
 }
 static void	/* backwards compatibility */
-vrrp_preempt_handler(vector_t *strvec)
+vrrp_preempt_handler(vector_t *strvec __attribute__((unused)))
 {
 	vrrp_t *vrrp = LIST_TAIL_DATA(vrrp_data->vrrp);
 	vrrp->nopreempt = 0;
@@ -328,7 +328,7 @@ vrrp_notify_handler(vector_t *strvec)
 	vrrp->notify_exec = 1;
 }
 static void
-vrrp_smtp_handler(vector_t *strvec)
+vrrp_smtp_handler(vector_t *strvec __attribute__((unused)))
 {
 	vrrp_t *vrrp = LIST_TAIL_DATA(vrrp_data->vrrp);
 	vrrp->smtp_alert = 1;
@@ -382,7 +382,7 @@ vrrp_auth_pass_handler(vector_t *strvec)
 	memcpy(vrrp->auth_data, str, str_len);
 }
 static void
-vrrp_vip_handler(vector_t *strvec)
+vrrp_vip_handler(vector_t *strvec __attribute__((unused)))
 {
 	vrrp_t *vrrp = LIST_TAIL_DATA(vrrp_data->vrrp);
 	char *buf;
diff --git a/keepalived/vrrp/vrrp_scheduler.c b/keepalived/vrrp/vrrp_scheduler.c
index 8b06e76..b77bde9 100644
--- a/keepalived/vrrp/vrrp_scheduler.c
+++ b/keepalived/vrrp/vrrp_scheduler.c
@@ -528,7 +528,7 @@ vrrp_set_fds(list l)
  * multiplexing points.
  */
 int
-vrrp_dispatcher_init(thread_t * thread)
+vrrp_dispatcher_init(thread_t * thread __attribute__((unused)))
 {
 	/* create the VRRP socket pool list */
 	vrrp_create_sockpool(vrrp_data->vrrp_socket_pool);
@@ -574,7 +574,7 @@ vrrp_backup(vrrp_t * vrrp, char *buffer, int len)
 }
 
 static void
-vrrp_become_master(vrrp_t * vrrp, char *buffer, int len)
+vrrp_become_master(vrrp_t * vrrp, char *buffer, int len __attribute__((unused)))
 {
 	struct iphdr *iph;
 	ipsec_ah_t *ah;
@@ -1068,8 +1068,10 @@ vrrp_script_child_timeout_thread(thread_t * thread)
 	pid = THREAD_CHILD_PID(thread);
 	if (kill(pid, SIGKILL) < 0) {
 		/* Its possible it finished while we're handing this */
+#ifdef _DEBUG_
 		if (errno != ESRCH)
 			DBG("kill error: %s", strerror(errno));
+#endif
 		return 0;
 	}
 
diff --git a/keepalived/vrrp/vrrp_sync.c b/keepalived/vrrp/vrrp_sync.c
index ee35b0b..4bcf1a1 100644
--- a/keepalived/vrrp/vrrp_sync.c
+++ b/keepalived/vrrp/vrrp_sync.c
@@ -71,7 +71,7 @@ vrrp_sync_set_group(vrrp_sgroup_t *vgroup)
 {
 	vrrp_t *vrrp;
 	char *str;
-	int i;
+	unsigned int i;
 
 	for (i = 0; i < vector_size(vgroup->iname); i++) {
 		str = vector_slot(vgroup->iname, i);
@@ -92,7 +92,7 @@ vrrp_sync_group_up(vrrp_sgroup_t * vgroup)
 	vrrp_t *vrrp;
 	element e;
 	list l = vgroup->index_list;
-	int is_up = 0;
+	unsigned int is_up = 0;
 
 	for (e = LIST_HEAD(l); e; ELEMENT_NEXT(e)) {
 		vrrp = ELEMENT_DATA(e);
diff --git a/lib/buffer.c b/lib/buffer.c
index ced4dba..014f050 100644
--- a/lib/buffer.c
+++ b/lib/buffer.c
@@ -208,9 +208,14 @@ buffer_flush_all(buffer_t *b, int fd)
  * to return -1 (because the logic for handling the erase and more features
  * is too complicated to retry the write later).
  */
+#ifdef IOV_MAX
+#define buffer_flush_window_fd_ATTRIBUTE_UNUSED
+#else
+#define buffer_flush_window_fd_ATTRIBUTE_UNUSED __attribute__((unused))
+#endif
 buffer_status_t
-buffer_flush_window(buffer_t *b, int fd, int width, int height,
-                    int erase_flag, int no_more_flag)
+buffer_flush_window(buffer_t *b, int fd buffer_flush_window_fd_ATTRIBUTE_UNUSED,
+                    int width, int height, int erase_flag, int no_more_flag)
 {
 	int nbytes = 0, iov_alloc, iov_index, column;
 	struct iovec *iov;
diff --git a/lib/command.c b/lib/command.c
index eff59de..ab30521 100644
--- a/lib/command.c
+++ b/lib/command.c
@@ -46,29 +46,29 @@ host_t host;
 
 /* Standard command node structures. */
 static cmd_node_t auth_node = {
-	AUTH_NODE,
-	"Password: ",
+	.node = AUTH_NODE,
+	.prompt = "Password: ",
 };
 
 static cmd_node_t view_node = {
-	VIEW_NODE,
-	"%s> ",
+	.node = VIEW_NODE,
+	.prompt = "%s> ",
 };
 
 static cmd_node_t auth_enable_node = {
-	AUTH_ENABLE_NODE,
-	"Password: ",
+	.node = AUTH_ENABLE_NODE,
+	.prompt = "Password: ",
 };
 
 static cmd_node_t enable_node = {
-	ENABLE_NODE,
-	"%s# ",
+	.node = ENABLE_NODE,
+	.prompt = "%s# ",
 };
 
 static cmd_node_t config_node = {
-	CONFIG_NODE,
-	"%s(config)# ",
-	1
+	.node = CONFIG_NODE,
+	.prompt = "%s(config)# ",
+	.vtysh = 1
 };
 
 /* Default motd string. */
@@ -1546,7 +1546,7 @@ cmd_complete_command(vector_t *vline, vty_t *vty, int *status)
 /* return parent node */
 /* MUST eventually converge on CONFIG_NODE */
 node_type_t
-node_parent(node_type_t node)
+node_parent(node_type_t node __attribute__((unused)))
 {
 #if 0
 	node_type_t ret;
diff --git a/lib/html.c b/lib/html.c
index 0dbd445..19df857 100644
--- a/lib/html.c
+++ b/lib/html.c
@@ -26,7 +26,7 @@
 #include "memory.h"
 
 /* Return the http header content length */
-int extract_content_length(char *buffer, int size)
+int extract_content_length(char *buffer, int size __attribute__((unused)))
 {
 	char *clen = strstr(buffer, CONTENT_LENGTH);
 	char *content_buffer = NULL;
diff --git a/lib/parser.c b/lib/parser.c
index af4ea50..9b0a7fc 100644
--- a/lib/parser.c
+++ b/lib/parser.c
@@ -104,7 +104,8 @@ install_keyword(char *string, void (*handler) (vector_t *))
 void
 dump_keywords(vector_t *keydump, int level)
 {
-	int i, j;
+	unsigned int i;
+	int j;
 	keyword_t *keyword_vec;
 
 	for (i = 0; i < vector_size(keydump); i++) {
@@ -121,7 +122,7 @@ void
 free_keywords(vector_t *keywords_vec)
 {
 	keyword_t *keyword_vec;
-	int i;
+	unsigned int i;
 
 	for (i = 0; i < vector_size(keywords_vec); i++) {
 		keyword_vec = vector_slot(keywords_vec, i);
@@ -197,7 +198,7 @@ void read_conf_file(char *conf_file)
 	globbuf.gl_offs = 0;
 	glob(conf_file, 0, NULL, &globbuf);
 
-	int i;
+	unsigned int i;
 	for(i = 0; i < globbuf.gl_pathc; i++){
 		log_message(LOG_INFO, "Opening file '%s'.", globbuf.gl_pathv[i]);
 		stream = fopen(globbuf.gl_pathv[i], "r");
@@ -306,7 +307,7 @@ vector_t *
 read_value_block(void)
 {
 	char *buf;
-	int i;
+	unsigned int i;
 	char *str = NULL;
 	char *dup;
 	vector_t *vec = NULL;
@@ -340,7 +341,7 @@ read_value_block(void)
 }
 
 void
-alloc_value_block(vector_t *strvec, void (*alloc_func) (vector_t *))
+alloc_value_block(vector_t *strvec __attribute__((unused)), void (*alloc_func) (vector_t *))
 {
 	char *buf;
 	char *str = NULL;
@@ -372,7 +373,7 @@ set_value(vector_t *strvec)
 {
 	char *str = vector_slot(strvec, 1);
 	int size = strlen(str);
-	int i = 0;
+	unsigned int i = 0;
 	int len = 0;
 	char *alloc = NULL;
 	char *tmp;
@@ -408,7 +409,7 @@ static int kw_level = 0;
 void
 process_stream(vector_t *keywords_vec)
 {
-	int i;
+	unsigned int i;
 	keyword_t *keyword_vec;
 	char *str;
 	char *buf;
diff --git a/lib/scheduler.c b/lib/scheduler.c
index aa1b644..00024e2 100644
--- a/lib/scheduler.c
+++ b/lib/scheduler.c
@@ -703,7 +703,7 @@ retry:	/* When thread can't fetch try to find next thread again. */
 
 /* Synchronous signal handler to reap child processes */
 void
-thread_child_handler(void * v, int sig)
+thread_child_handler(void * v, int sig __attribute__((unused)))
 {
 	thread_master_t * m = v;
 
diff --git a/lib/vector.c b/lib/vector.c
index 23f94eb..a34cf74 100644
--- a/lib/vector.c
+++ b/lib/vector.c
@@ -244,7 +244,7 @@ vector_free(vector_t *v)
 void
 vector_dump(vector_t *v)
 {
-	int i;
+	unsigned int i;
 
 	printf("Vector Size : %d\n", v->allocated);
 
@@ -259,7 +259,7 @@ vector_dump(vector_t *v)
 void
 free_strvec(vector_t *strvec)
 {
-	int i;
+	unsigned int i;
 	char *str;
 
 	if (!strvec)
@@ -277,7 +277,7 @@ free_strvec(vector_t *strvec)
 void
 dump_strvec(vector_t *strvec)
 {
-	int i;
+	unsigned int i;
 	char *str;
 
 	if (!strvec)
diff --git a/lib/vty.c b/lib/vty.c
index e8c6dc6..ee2ae41 100644
--- a/lib/vty.c
+++ b/lib/vty.c
@@ -980,7 +980,7 @@ vty_hist_add(vty_t *vty)
 
 /* Get telnet window size. */
 static int
-vty_telnet_option(vty_t *vty, unsigned char *buf, int nbytes)
+vty_telnet_option(vty_t *vty, unsigned char *buf, int nbytes __attribute__((unused)))
 {
 	switch (buf[0]) {
 	case SB:
@@ -2040,9 +2040,9 @@ vty_config_write(vty_t *vty)
 
 cmd_node_t vty_node =
 {
-	VTY_NODE,
-	"%s(config-line)# ",
-	1,
+	.node = VTY_NODE,
+	.prompt = "%s(config-line)# ",
+	.vtysh = 1,
 };
 
 /* Reset all VTY status. */
-- 
1.7.1


------------------------------------------------------------------------------
Sponsored by Intel(R) XDK 
Develop, test and display web and hybrid apps with a single code base.
Download it for free now!
http://pubads.g.doubleclick.net/gampad/clk?id=111408631&iu=/4140/ostg.clktrk
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.