[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1374350298-1177-2-git-send-email-christoph.paasch@uclouvain.be>
Date: Sat, 20 Jul 2013 21:58:17 +0200
From: Christoph Paasch <christoph.paasch@...ouvain.be>
To: Stephen Hemminger <stephen@...workplumber.org>
Cc: netdev@...r.kernel.org
Subject: [PATCH iproute2 1/2] ss: Fix compiler errors of unused return-values
Many errors when compiling with gcc 4.7.3 about unused return-values
upon the calls to fgets and fscanf:
ss.c: In function ‘user_ent_hash_build’:
ss.c:305:12: error: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result [-Werror=unused-result]
ss.c: In function ‘get_slabstat’:
ss.c:387:7: error: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Werror=unused-result]
ss.c: In function ‘init_service_resolver’:
ss.c:511:8: error: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Werror=unused-result]
ss.c: In function ‘run_ssfilter’:
ss.c:728:11: error: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result [-Werror=unused-result]
ss.c: In function ‘is_ephemeral’:
ss.c:550:10: error: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result [-Werror=unused-result]
ss.c: In function ‘netlink_show’:
ss.c:2836:7: error: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Werror=unused-result]
ss.c: In function ‘packet_show’:
ss.c:2630:7: error: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Werror=unused-result]
ss.c: In function ‘unix_show’:
ss.c:2364:7: error: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Werror=unused-result]
cc1: all warnings being treated as errors
make[1]: *** [ss.o] Error 1
make[1]: Leaving directory `/home/christoph/workspace/linux/iproute2/misc'
make: *** [all] Error 2
For the calls to fscanf we can't really do anything about it, and just
do an empty if-statement to make the compiler happy.
Signed-off-by: Christoph Paasch <christoph.paasch@...ouvain.be>
---
misc/ss.c | 30 +++++++++++++++++++++---------
1 file changed, 21 insertions(+), 9 deletions(-)
diff --git a/misc/ss.c b/misc/ss.c
index c0369f1..0f71108 100644
--- a/misc/ss.c
+++ b/misc/ss.c
@@ -302,7 +302,7 @@ static void user_ent_hash_build(void)
snprintf(tmp, sizeof(tmp), "%s/%d/stat", root, pid);
if ((fp = fopen(tmp, "r")) != NULL) {
- fscanf(fp, "%*d (%[^)])", process);
+ if (fscanf(fp, "%*d (%[^)])", process) == EOF);
fclose(fp);
}
}
@@ -384,7 +384,10 @@ static int get_slabstat(struct slabstat *s)
cnt = sizeof(*s)/sizeof(int);
- fgets(buf, sizeof(buf), fp);
+ if (!fgets(buf, sizeof(buf), fp)) {
+ fclose(fp);
+ return -1;
+ }
while(fgets(buf, sizeof(buf), fp) != NULL) {
int i;
for (i=0; i<sizeof(slabstat_ids)/sizeof(slabstat_ids[0]); i++) {
@@ -508,7 +511,10 @@ static void init_service_resolver(void)
char buf[128];
FILE *fp = popen("/usr/sbin/rpcinfo -p 2>/dev/null", "r");
if (fp) {
- fgets(buf, sizeof(buf), fp);
+ if (!fgets(buf, sizeof(buf), fp)) {
+ pclose(fp);
+ return;
+ }
while (fgets(buf, sizeof(buf), fp) != NULL) {
unsigned int progn, port;
char proto[128], prog[128];
@@ -547,8 +553,7 @@ static int is_ephemeral(int port)
if (!ip_local_port_min) {
FILE *f = ephemeral_ports_open();
if (f) {
- fscanf(f, "%d %d",
- &ip_local_port_min, &ip_local_port_max);
+ if (fscanf(f, "%d %d", &ip_local_port_min, &ip_local_port_max) == EOF);
fclose(f);
} else {
ip_local_port_min = 1024;
@@ -725,7 +730,7 @@ static int run_ssfilter(struct ssfilter *f, struct tcpstat *s)
if (!low) {
FILE *fp = ephemeral_ports_open();
if (fp) {
- fscanf(fp, "%d%d", &low, &high);
+ if (fscanf(fp, "%d%d", &low, &high) == EOF);
fclose(fp);
}
}
@@ -2361,7 +2366,10 @@ static int unix_show(struct filter *f)
if ((fp = net_unix_open()) == NULL)
return -1;
- fgets(buf, sizeof(buf)-1, fp);
+ if (!fgets(buf, sizeof(buf)-1, fp)) {
+ fclose(fp);
+ return -1;
+ }
if (memcmp(buf, "Peer", 4) == 0)
newformat = 1;
@@ -2627,7 +2635,10 @@ static int packet_show(struct filter *f)
if ((fp = net_packet_open()) == NULL)
return -1;
- fgets(buf, sizeof(buf)-1, fp);
+ if (!fgets(buf, sizeof(buf)-1, fp)) {
+ fclose(fp);
+ return -1;
+ }
while (fgets(buf, sizeof(buf)-1, fp)) {
sscanf(buf, "%llx %*d %d %x %d %d %u %u %u",
@@ -2833,7 +2844,8 @@ static int netlink_show(struct filter *f)
if ((fp = net_netlink_open()) == NULL)
return -1;
- fgets(buf, sizeof(buf)-1, fp);
+ if (!fgets(buf, sizeof(buf)-1, fp))
+ return -1;
while (fgets(buf, sizeof(buf)-1, fp)) {
sscanf(buf, "%llx %d %d %x %d %d %llx %d",
--
1.8.1.2
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists