b.a.t.m.a.n.lists.open-mesh.org archive mirror
 help / color / mirror / Atom feed
* [B.A.T.M.A.N.] [PATCH 1/6] batctl: Correct format strings for 8 bit ttl
@ 2010-10-30 15:00 Sven Eckelmann
  2010-10-30 15:00 ` [B.A.T.M.A.N.] [PATCH 2/6] batctl: Don't print uninitialised traceroute times Sven Eckelmann
                   ` (5 more replies)
  0 siblings, 6 replies; 10+ messages in thread
From: Sven Eckelmann @ 2010-10-30 15:00 UTC (permalink / raw)
  To: b.a.t.m.a.n

Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
---
 batctl/tcpdump.c    |    4 ++--
 batctl/traceroute.c |    4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/batctl/tcpdump.c b/batctl/tcpdump.c
index 0f62e65..8898cf8 100644
--- a/batctl/tcpdump.c
+++ b/batctl/tcpdump.c
@@ -335,7 +335,7 @@ static void dump_batman_ucast(unsigned char *packet_buff, ssize_t buff_len, int
 	printf("BAT %s > ",
 	       get_name_by_macaddr((struct ether_addr *)ether_header->ether_shost, read_opt));
 
-	printf("%s: UCAST, ttl %hu, ",
+	printf("%s: UCAST, ttl %hhu, ",
 	       get_name_by_macaddr((struct ether_addr *)unicast_packet->dest, read_opt),
 	       unicast_packet->ttl);
 
@@ -388,7 +388,7 @@ static void dump_batman_frag(unsigned char *packet_buff, ssize_t buff_len, int r
 	printf("BAT %s > ",
 	       get_name_by_macaddr((struct ether_addr *)unicast_frag_packet->orig, read_opt));
 
-	printf("%s: FRAG, seq %hu, ttl %hu, flags [%c], ",
+	printf("%s: FRAG, seq %hu, ttl %hhu, flags [%c], ",
 	       get_name_by_macaddr((struct ether_addr *)unicast_frag_packet->dest, read_opt),
 	       ntohs(unicast_frag_packet->seqno), unicast_frag_packet->ttl,
 	       (unicast_frag_packet->flags & UNI_FRAG_HEAD ? 'H' : '.'));
diff --git a/batctl/traceroute.c b/batctl/traceroute.c
index dc97a01..0dc796a 100644
--- a/batctl/traceroute.c
+++ b/batctl/traceroute.c
@@ -199,9 +199,9 @@ int traceroute(char *mesh_iface, int argc, char **argv)
 		}
 
 		if (!bat_host)
-			printf("%2hu: %s", icmp_packet_out.ttl, (return_mac ? return_mac : "*"));
+			printf("%2hhu: %s", icmp_packet_out.ttl, (return_mac ? return_mac : "*"));
 		else
-			printf("%2hu: %s (%s)",	icmp_packet_out.ttl, bat_host->name, return_mac);
+			printf("%2hhu: %s (%s)", icmp_packet_out.ttl, bat_host->name, return_mac);
 
 		for (i = 0; i < NUM_PACKETS; i++) {
 			if (time_delta[i])
-- 
1.7.2.3


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [B.A.T.M.A.N.] [PATCH 2/6] batctl: Don't print uninitialised traceroute times
  2010-10-30 15:00 [B.A.T.M.A.N.] [PATCH 1/6] batctl: Correct format strings for 8 bit ttl Sven Eckelmann
@ 2010-10-30 15:00 ` Sven Eckelmann
  2010-10-30 15:00 ` [B.A.T.M.A.N.] [PATCH 3/6] batctl: Remove unused variables Sven Eckelmann
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 10+ messages in thread
From: Sven Eckelmann @ 2010-10-30 15:00 UTC (permalink / raw)
  To: b.a.t.m.a.n

The time_delta array is only initialised when no error occurs or only
the select fails. This means that we may print uninitialised or output
from previous ttl levels.

Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
---
 batctl/traceroute.c |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/batctl/traceroute.c b/batctl/traceroute.c
index 0dc796a..f80ca4d 100644
--- a/batctl/traceroute.c
+++ b/batctl/traceroute.c
@@ -135,6 +135,7 @@ int traceroute(char *mesh_iface, int argc, char **argv)
 
 		for (i = 0; i < NUM_PACKETS; i++) {
 			icmp_packet_out.seqno = htons(++seq_counter);
+			time_delta[i] = 0.0;
 
 			if (write(trace_fd, (char *)&icmp_packet_out, sizeof(icmp_packet_out)) < 0) {
 				printf("Error - can't write to batman adv kernel file '%s': %s\n", icmp_socket, strerror(errno));
@@ -151,10 +152,8 @@ int traceroute(char *mesh_iface, int argc, char **argv)
 
 			res = select(trace_fd + 1, &read_socket, NULL, NULL, &tv);
 
-			if (res <= 0) {
-				time_delta[i] = 0.0;
+			if (res <= 0)
 				continue;
-			}
 
 			read_len = read(trace_fd, (char *)&icmp_packet_in, sizeof(icmp_packet_in));
 
-- 
1.7.2.3


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [B.A.T.M.A.N.] [PATCH 3/6] batctl: Remove unused variables
  2010-10-30 15:00 [B.A.T.M.A.N.] [PATCH 1/6] batctl: Correct format strings for 8 bit ttl Sven Eckelmann
  2010-10-30 15:00 ` [B.A.T.M.A.N.] [PATCH 2/6] batctl: Don't print uninitialised traceroute times Sven Eckelmann
@ 2010-10-30 15:00 ` Sven Eckelmann
  2010-11-01 11:26   ` Marek Lindner
  2010-11-01 11:48   ` [B.A.T.M.A.N.] [PATCHv2 " Sven Eckelmann
  2010-10-30 15:00 ` [B.A.T.M.A.N.] [PATCH 4/6] batctl: Initialise timeout before usage in error case Sven Eckelmann
                   ` (3 subsequent siblings)
  5 siblings, 2 replies; 10+ messages in thread
From: Sven Eckelmann @ 2010-10-30 15:00 UTC (permalink / raw)
  To: b.a.t.m.a.n

Different variables aren't used after they are set. We can discard them
without changing the behavior visible to the outside.

Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
---
 batctl/functions.c |    3 +--
 batctl/tcpdump.c   |   32 ++++++++------------------------
 batctl/vis.c       |    3 +--
 3 files changed, 10 insertions(+), 28 deletions(-)

diff --git a/batctl/functions.c b/batctl/functions.c
index cff8b52..ce046ba 100644
--- a/batctl/functions.c
+++ b/batctl/functions.c
@@ -126,7 +126,6 @@ int read_file(char *dir, char *fname, int read_opt,
 	float last_seen;
 	char full_path[500], *buff_ptr, *space_ptr, extra_char;
 	size_t len = 0;
-	ssize_t read;
 	FILE *fp = NULL;
 
 	if (read_opt & USE_BAT_HOSTS)
@@ -154,7 +153,7 @@ open:
 		system("clear");
 
 read:
-	while ((read = getline(&line_ptr, &len, fp)) != -1) {
+	while (getline(&line_ptr, &len, fp) != -1) {
 		/* the buffer will be handled elsewhere */
 		if (read_opt & USE_READ_BUFF)
 			break;
diff --git a/batctl/tcpdump.c b/batctl/tcpdump.c
index 8898cf8..ed11f22 100644
--- a/batctl/tcpdump.c
+++ b/batctl/tcpdump.c
@@ -84,15 +84,12 @@ static int print_time(void)
 	return 1;
 }
 
-static void dump_arp(unsigned char *packet_buff, ssize_t buff_len, int time_printed)
+static void dump_arp(unsigned char *packet_buff, ssize_t buff_len)
 {
 	struct ether_arp *arphdr;
 
 	LEN_CHECK((size_t)buff_len, sizeof(struct ether_arp), "ARP");
 
-	if (!time_printed)
-		time_printed = print_time();
-
 	arphdr = (struct ether_arp *)packet_buff;
 
 	switch (ntohs(arphdr->arp_op)) {
@@ -111,7 +108,7 @@ static void dump_arp(unsigned char *packet_buff, ssize_t buff_len, int time_prin
 	}
 }
 
-static void dump_ip(unsigned char *packet_buff, ssize_t buff_len, int time_printed)
+static void dump_ip(unsigned char *packet_buff, ssize_t buff_len)
 {
 	struct iphdr *iphdr, *tmp_iphdr;
 	struct tcphdr *tcphdr;
@@ -121,9 +118,6 @@ static void dump_ip(unsigned char *packet_buff, ssize_t buff_len, int time_print
 	iphdr = (struct iphdr *)packet_buff;
 	LEN_CHECK((size_t)buff_len, (size_t)(iphdr->ihl * 4), "IP");
 
-	if (!time_printed)
-		time_printed = print_time();
-
 	switch (iphdr->protocol) {
 	case IPPROTO_ICMP:
 		LEN_CHECK((size_t)buff_len - (iphdr->ihl * 4), sizeof(struct icmphdr), "ICMP");
@@ -246,7 +240,7 @@ static void dump_vlan(unsigned char *packet_buff, ssize_t buff_len, int read_opt
 	parse_eth_hdr(packet_buff + 4, buff_len - 4, read_opt, time_printed);
 }
 
-static void dump_batman_ogm(unsigned char *packet_buff, ssize_t buff_len, int read_opt, int time_printed)
+static void dump_batman_ogm(unsigned char *packet_buff, ssize_t buff_len, int read_opt)
 {
 	struct ether_header *ether_header;
 	struct batman_packet *batman_packet;
@@ -256,9 +250,6 @@ static void dump_batman_ogm(unsigned char *packet_buff, ssize_t buff_len, int re
 	ether_header = (struct ether_header *)packet_buff;
 	batman_packet = (struct batman_packet *)(packet_buff + sizeof(struct ether_header));
 
-	if (!time_printed)
-		time_printed = print_time();
-
 	printf("BAT %s: ",
 	       get_name_by_macaddr((struct ether_addr *)batman_packet->orig, read_opt));
 
@@ -273,20 +264,15 @@ static void dump_batman_ogm(unsigned char *packet_buff, ssize_t buff_len, int re
 	        (size_t)buff_len - sizeof(struct ether_header));
 }
 
-static void dump_batman_icmp(unsigned char *packet_buff, ssize_t buff_len, int read_opt, int time_printed)
+static void dump_batman_icmp(unsigned char *packet_buff, ssize_t buff_len, int read_opt)
 {
-	struct ether_header *ether_header;
 	struct icmp_packet *icmp_packet;
 	char *name;
 
 	LEN_CHECK((size_t)buff_len - sizeof(struct ether_header), sizeof(struct icmp_packet), "BAT ICMP");
 
-	ether_header = (struct ether_header *)packet_buff;
 	icmp_packet = (struct icmp_packet *)(packet_buff + sizeof(struct ether_header));
 
-	if (!time_printed)
-		time_printed = print_time();
-
 	printf("BAT %s > ", get_name_by_macaddr((struct ether_addr *)icmp_packet->orig, read_opt));
 
 	name = get_name_by_macaddr((struct ether_addr *)icmp_packet->dst, read_opt);
@@ -373,13 +359,11 @@ static void dump_batman_bcast(unsigned char *packet_buff, ssize_t buff_len, int
 
 static void dump_batman_frag(unsigned char *packet_buff, ssize_t buff_len, int read_opt, int time_printed)
 {
-	struct ether_header *ether_header;
 	struct unicast_frag_packet *unicast_frag_packet;
 
 	LEN_CHECK((size_t)buff_len - ETH_HLEN, sizeof(struct unicast_frag_packet), "BAT FRAG");
 	LEN_CHECK((size_t)buff_len - ETH_HLEN - sizeof(struct unicast_frag_packet), (size_t)ETH_HLEN, "BAT FRAG (unpacked)");
 
-	ether_header = (struct ether_header *)packet_buff;
 	unicast_frag_packet = (struct unicast_frag_packet *)(packet_buff + ETH_HLEN);
 
 	if (!time_printed)
@@ -411,11 +395,11 @@ static void parse_eth_hdr(unsigned char *packet_buff, ssize_t buff_len, int read
 	switch (ntohs(eth_hdr->ether_type)) {
 	case ETH_P_ARP:
 		if ((dump_level & DUMP_TYPE_NONBAT) || (time_printed))
-			dump_arp(packet_buff + ETH_HLEN, buff_len - ETH_HLEN, time_printed);
+			dump_arp(packet_buff + ETH_HLEN, buff_len - ETH_HLEN);
 		break;
 	case ETH_P_IP:
 		if ((dump_level & DUMP_TYPE_NONBAT) || (time_printed))
-			dump_ip(packet_buff + ETH_HLEN, buff_len - ETH_HLEN, time_printed);
+			dump_ip(packet_buff + ETH_HLEN, buff_len - ETH_HLEN);
 		break;
 	case ETH_P_8021Q:
 		if ((dump_level & DUMP_TYPE_NONBAT) || (time_printed))
@@ -427,11 +411,11 @@ static void parse_eth_hdr(unsigned char *packet_buff, ssize_t buff_len, int read
 		switch (batman_packet->packet_type) {
 		case BAT_PACKET:
 			if (dump_level & DUMP_TYPE_BATOGM)
-				dump_batman_ogm(packet_buff, buff_len, read_opt, time_printed);
+				dump_batman_ogm(packet_buff, buff_len, read_opt);
 			break;
 		case BAT_ICMP:
 			if (dump_level & DUMP_TYPE_BATICMP)
-				dump_batman_icmp(packet_buff, buff_len, read_opt, time_printed);
+				dump_batman_icmp(packet_buff, buff_len, read_opt);
 			break;
 		case BAT_UNICAST:
 			if (dump_level & DUMP_TYPE_BATUCAST)
diff --git a/batctl/vis.c b/batctl/vis.c
index ad612ff..4bc5954 100644
--- a/batctl/vis.c
+++ b/batctl/vis.c
@@ -183,7 +183,6 @@ static FILE *open_vis(char *mesh_iface)
 static int format(char *mesh_iface, const struct funcs *funcs)
 {
 	size_t len = 0;
-	ssize_t read;
 	char *line = NULL;
 	char *orig, *from;
 	char *duplet;
@@ -202,7 +201,7 @@ static int format(char *mesh_iface, const struct funcs *funcs)
 	if (funcs->print_header)
 		funcs->print_header();
 
-	while ((read = getline(&line, &len, fp)) != -1) {
+	while (getline(&line, &len, fp) != -1) {
 		/* First MAC address is the originator */
 		orig = strtok_r(line, ",", &line_save_ptr);
 
-- 
1.7.2.3


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [B.A.T.M.A.N.] [PATCH 4/6] batctl: Initialise timeout before usage in error case
  2010-10-30 15:00 [B.A.T.M.A.N.] [PATCH 1/6] batctl: Correct format strings for 8 bit ttl Sven Eckelmann
  2010-10-30 15:00 ` [B.A.T.M.A.N.] [PATCH 2/6] batctl: Don't print uninitialised traceroute times Sven Eckelmann
  2010-10-30 15:00 ` [B.A.T.M.A.N.] [PATCH 3/6] batctl: Remove unused variables Sven Eckelmann
@ 2010-10-30 15:00 ` Sven Eckelmann
  2010-10-30 15:00 ` [B.A.T.M.A.N.] [PATCH 5/6] batctl: Readd ping interval after each loop Sven Eckelmann
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 10+ messages in thread
From: Sven Eckelmann @ 2010-10-30 15:00 UTC (permalink / raw)
  To: b.a.t.m.a.n

Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
---
This patch is useless if we also add
"batctl: Readd ping interval after each loop"

 batctl/ping.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/batctl/ping.c b/batctl/ping.c
index 288bd01..1ed8fac 100644
--- a/batctl/ping.c
+++ b/batctl/ping.c
@@ -180,6 +180,9 @@ int ping(char *mesh_iface, int argc, char **argv)
 		packet_len, packet_len + 28);
 
 	while (!is_aborted) {
+		tv.tv_sec = timeout;
+		tv.tv_usec = 0;
+
 		if (loop_count == 0)
 			break;
 
@@ -195,9 +198,6 @@ int ping(char *mesh_iface, int argc, char **argv)
 
 		start_timer();
 
-		tv.tv_sec = timeout;
-		tv.tv_usec = 0;
-
 		FD_ZERO(&read_socket);
 		FD_SET(ping_fd, &read_socket);
 
-- 
1.7.2.3


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [B.A.T.M.A.N.] [PATCH 5/6] batctl: Readd ping interval after each loop
  2010-10-30 15:00 [B.A.T.M.A.N.] [PATCH 1/6] batctl: Correct format strings for 8 bit ttl Sven Eckelmann
                   ` (2 preceding siblings ...)
  2010-10-30 15:00 ` [B.A.T.M.A.N.] [PATCH 4/6] batctl: Initialise timeout before usage in error case Sven Eckelmann
@ 2010-10-30 15:00 ` Sven Eckelmann
  2010-10-30 15:00 ` [B.A.T.M.A.N.] [PATCH 6/6] batctl: Convert strtok to reentrant safe strtok_r Sven Eckelmann
  2010-11-04 14:05 ` [B.A.T.M.A.N.] [PATCH 1/6] batctl: Correct format strings for 8 bit ttl Marek Lindner
  5 siblings, 0 replies; 10+ messages in thread
From: Sven Eckelmann @ 2010-10-30 15:00 UTC (permalink / raw)
  To: b.a.t.m.a.n

The option -i for ping had no visible effect. We can simply change it
back to the old behaviour from battool times.

Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
---
 batctl/ping.c |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/batctl/ping.c b/batctl/ping.c
index 1ed8fac..9963b24 100644
--- a/batctl/ping.c
+++ b/batctl/ping.c
@@ -292,9 +292,8 @@ int ping(char *mesh_iface, int argc, char **argv)
 		}
 
 sleep:
-		if ((tv.tv_sec != 0) || (tv.tv_usec != 0))
-			select(0, NULL, NULL, NULL, &tv);
-
+		if (loop_interval > 0)
+			sleep(loop_interval);
 	}
 
 	if (packets_out == 0)
-- 
1.7.2.3


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [B.A.T.M.A.N.] [PATCH 6/6] batctl: Convert strtok to reentrant safe strtok_r
  2010-10-30 15:00 [B.A.T.M.A.N.] [PATCH 1/6] batctl: Correct format strings for 8 bit ttl Sven Eckelmann
                   ` (3 preceding siblings ...)
  2010-10-30 15:00 ` [B.A.T.M.A.N.] [PATCH 5/6] batctl: Readd ping interval after each loop Sven Eckelmann
@ 2010-10-30 15:00 ` Sven Eckelmann
  2010-11-04 14:05 ` [B.A.T.M.A.N.] [PATCH 1/6] batctl: Correct format strings for 8 bit ttl Marek Lindner
  5 siblings, 0 replies; 10+ messages in thread
From: Sven Eckelmann @ 2010-10-30 15:00 UTC (permalink / raw)
  To: b.a.t.m.a.n

Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
---
 batctl/bisect.c |   10 +++++-----
 batctl/vis.c    |   12 ++++++------
 2 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/batctl/bisect.c b/batctl/bisect.c
index 2fa15f0..b7d8969 100644
--- a/batctl/bisect.c
+++ b/batctl/bisect.c
@@ -466,7 +466,7 @@ err:
 static int parse_log_file(char *file_path)
 {
 	FILE *fd;
-	char line_buff[MAX_LINE], *start_ptr, *tok_ptr;
+	char line_buff[MAX_LINE], *start_ptr, *start_ptr_safe, *tok_ptr;
 	char *neigh, *iface_addr, *orig, *prev_sender, rt_flag;
 	int line_count = 0, tq, ttl, seqno, i, res, max;
 
@@ -483,12 +483,12 @@ static int parse_log_file(char *file_path)
 		line_count++;
 
 		if (strstr(start_ptr, "Received BATMAN packet via NB")) {
-			tok_ptr = strtok(start_ptr, " ");
+			strtok_r(start_ptr, " ", &start_ptr_safe);
 			neigh = iface_addr = orig = prev_sender = NULL;
 			seqno = tq = ttl = -1;
 
 			for (i = 0; i < 21; i++) {
-				tok_ptr = strtok(NULL, " ");
+				tok_ptr = strtok_r(NULL, " ", &start_ptr_safe);
 				if (!tok_ptr)
 					break;
 
@@ -547,11 +547,11 @@ static int parse_log_file(char *file_path)
 				max = 3;
 			}
 
-			tok_ptr = strtok(start_ptr, " ");
+			strtok_r(start_ptr, " ", &start_ptr_safe);
 			orig = neigh = prev_sender = NULL;
 
 			for (i = 0; i < max; i++) {
-				tok_ptr = strtok(NULL, " ");
+				tok_ptr = strtok_r(NULL, " ", &start_ptr_safe);
 				if (!tok_ptr)
 					break;
 
diff --git a/batctl/vis.c b/batctl/vis.c
index 4bc5954..7fba1ab 100644
--- a/batctl/vis.c
+++ b/batctl/vis.c
@@ -186,7 +186,7 @@ static int format(char *mesh_iface, const struct funcs *funcs)
 	char *line = NULL;
 	char *orig, *from;
 	char *duplet;
-	char *line_save_ptr;
+	char *line_save_ptr, *component_save_ptr;
 	char *duplet_save_ptr;
 	char *endptr;
 	char *value;
@@ -207,12 +207,12 @@ static int format(char *mesh_iface, const struct funcs *funcs)
 
 		duplet_save_ptr = line_save_ptr;
 		while ((duplet = strtok_r(NULL, ",", &duplet_save_ptr)) != NULL) {
-			flag = strtok(duplet, " ");
+			flag = strtok_r(duplet, " ", &component_save_ptr);
 			if (!flag)
 				continue;
 			if (!strcmp(flag, "TQ")) {
-				from = strtok(NULL, " ");
-				value = strtok(NULL, " ");
+				from = strtok_r(NULL, " ", &component_save_ptr);
+				value = strtok_r(NULL, " ", &component_save_ptr);
 				tq = strtoul(value, &endptr, 0);
 				funcs->print_tq(orig, from, tq);
 				continue;
@@ -221,13 +221,13 @@ static int format(char *mesh_iface, const struct funcs *funcs)
 				/* We have an HNA record */
 				if (!with_HNA)
 					continue;
-				from = strtok(NULL, " ");
+				from = strtok_r(NULL, " ", &component_save_ptr);
 				funcs->print_HNA(orig, from);
 				continue;
 			}
 			if (!strcmp(flag, "SEC") && with_2nd) {
 				/* We found a secondary interface MAC address. */
-				from = strtok(NULL, " ");
+				from = strtok_r(NULL, " ", &component_save_ptr);
 				funcs->print_2nd(orig, from);
 			}
 			if (!strcmp(flag, "PRIMARY") && with_2nd) {
-- 
1.7.2.3


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [B.A.T.M.A.N.] [PATCH 3/6] batctl: Remove unused variables
  2010-10-30 15:00 ` [B.A.T.M.A.N.] [PATCH 3/6] batctl: Remove unused variables Sven Eckelmann
@ 2010-11-01 11:26   ` Marek Lindner
  2010-11-01 11:34     ` Sven Eckelmann
  2010-11-01 11:48   ` [B.A.T.M.A.N.] [PATCHv2 " Sven Eckelmann
  1 sibling, 1 reply; 10+ messages in thread
From: Marek Lindner @ 2010-11-01 11:26 UTC (permalink / raw)
  To: The list for a Better Approach To Mobile Ad-hoc Networking

On Saturday 30 October 2010 17:00:55 Sven Eckelmann wrote:
> -static void dump_arp(unsigned char *packet_buff, ssize_t buff_len, int
> time_printed) +static void dump_arp(unsigned char *packet_buff, ssize_t
> buff_len) {
>         struct ether_arp *arphdr;
>  
>         LEN_CHECK((size_t)buff_len, sizeof(struct ether_arp), "ARP");
>  
> -       if (!time_printed)
> -               time_printed = print_time();
> -
>         arphdr = (struct ether_arp *)packet_buff;
>  
>         switch (ntohs(arphdr->arp_op)) {
> @@ -111,7 +108,7 @@ static void dump_arp(unsigned char *packet_buff,
> ssize_t buff_len, int time_prin }
>  }

I don't understand why you want to remove the time_printed stuff. Maybe it is 
not so clear what this is good for ? At the beginning of each line batctl 
tcpdump prints a timestamp by caling print_time(). The various functions to 
analyze the headers (e.g. ARP) can be called under different conditions: Either 
after the encapsulating batman-adv header had been printed (including the 
timestamp) or without any prior prints in which case we want to output the 
timestamp.

Regards,
Marek

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [B.A.T.M.A.N.] [PATCH 3/6] batctl: Remove unused variables
  2010-11-01 11:26   ` Marek Lindner
@ 2010-11-01 11:34     ` Sven Eckelmann
  0 siblings, 0 replies; 10+ messages in thread
From: Sven Eckelmann @ 2010-11-01 11:34 UTC (permalink / raw)
  To: b.a.t.m.a.n; +Cc: Marek Lindner

[-- Attachment #1: Type: Text/Plain, Size: 1317 bytes --]

Marek Lindner wrote:
> On Saturday 30 October 2010 17:00:55 Sven Eckelmann wrote:
> > -static void dump_arp(unsigned char *packet_buff, ssize_t buff_len, int
> > time_printed) +static void dump_arp(unsigned char *packet_buff, ssize_t
> > buff_len) {
> > 
> >         struct ether_arp *arphdr;
> >         
> >         LEN_CHECK((size_t)buff_len, sizeof(struct ether_arp), "ARP");
> > 
> > -       if (!time_printed)
> > -               time_printed = print_time();
> > -
> > 
> >         arphdr = (struct ether_arp *)packet_buff;
> >         
> >         switch (ntohs(arphdr->arp_op)) {
> > 
> > @@ -111,7 +108,7 @@ static void dump_arp(unsigned char *packet_buff,
> > ssize_t buff_len, int time_prin }
> > 
> >  }
> 
> I don't understand why you want to remove the time_printed stuff. Maybe it
> is not so clear what this is good for ? At the beginning of each line
> batctl tcpdump prints a timestamp by caling print_time(). The various
> functions to analyze the headers (e.g. ARP) can be called under different
> conditions: Either after the encapsulating batman-adv header had been
> printed (including the timestamp) or without any prior prints in which
> case we want to output the timestamp.

It is not used anywhere in the functions - so why keep it?

Best regards,
	Sven

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [B.A.T.M.A.N.] [PATCHv2 3/6] batctl: Remove unused variables
  2010-10-30 15:00 ` [B.A.T.M.A.N.] [PATCH 3/6] batctl: Remove unused variables Sven Eckelmann
  2010-11-01 11:26   ` Marek Lindner
@ 2010-11-01 11:48   ` Sven Eckelmann
  1 sibling, 0 replies; 10+ messages in thread
From: Sven Eckelmann @ 2010-11-01 11:48 UTC (permalink / raw)
  To: b.a.t.m.a.n

Different variables aren't used after they are set. We can discard them
without changing the behavior visible to the outside.

Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
---
 batctl/functions.c |    3 +--
 batctl/tcpdump.c   |   12 ++++--------
 batctl/vis.c       |    3 +--
 3 files changed, 6 insertions(+), 12 deletions(-)

diff --git a/batctl/functions.c b/batctl/functions.c
index cff8b52..ce046ba 100644
--- a/batctl/functions.c
+++ b/batctl/functions.c
@@ -126,7 +126,6 @@ int read_file(char *dir, char *fname, int read_opt,
 	float last_seen;
 	char full_path[500], *buff_ptr, *space_ptr, extra_char;
 	size_t len = 0;
-	ssize_t read;
 	FILE *fp = NULL;
 
 	if (read_opt & USE_BAT_HOSTS)
@@ -154,7 +153,7 @@ open:
 		system("clear");
 
 read:
-	while ((read = getline(&line_ptr, &len, fp)) != -1) {
+	while (getline(&line_ptr, &len, fp) != -1) {
 		/* the buffer will be handled elsewhere */
 		if (read_opt & USE_READ_BUFF)
 			break;
diff --git a/batctl/tcpdump.c b/batctl/tcpdump.c
index 8898cf8..08a662a 100644
--- a/batctl/tcpdump.c
+++ b/batctl/tcpdump.c
@@ -91,7 +91,7 @@ static void dump_arp(unsigned char *packet_buff, ssize_t buff_len, int time_prin
 	LEN_CHECK((size_t)buff_len, sizeof(struct ether_arp), "ARP");
 
 	if (!time_printed)
-		time_printed = print_time();
+		print_time();
 
 	arphdr = (struct ether_arp *)packet_buff;
 
@@ -122,7 +122,7 @@ static void dump_ip(unsigned char *packet_buff, ssize_t buff_len, int time_print
 	LEN_CHECK((size_t)buff_len, (size_t)(iphdr->ihl * 4), "IP");
 
 	if (!time_printed)
-		time_printed = print_time();
+		print_time();
 
 	switch (iphdr->protocol) {
 	case IPPROTO_ICMP:
@@ -257,7 +257,7 @@ static void dump_batman_ogm(unsigned char *packet_buff, ssize_t buff_len, int re
 	batman_packet = (struct batman_packet *)(packet_buff + sizeof(struct ether_header));
 
 	if (!time_printed)
-		time_printed = print_time();
+		print_time();
 
 	printf("BAT %s: ",
 	       get_name_by_macaddr((struct ether_addr *)batman_packet->orig, read_opt));
@@ -275,17 +275,15 @@ static void dump_batman_ogm(unsigned char *packet_buff, ssize_t buff_len, int re
 
 static void dump_batman_icmp(unsigned char *packet_buff, ssize_t buff_len, int read_opt, int time_printed)
 {
-	struct ether_header *ether_header;
 	struct icmp_packet *icmp_packet;
 	char *name;
 
 	LEN_CHECK((size_t)buff_len - sizeof(struct ether_header), sizeof(struct icmp_packet), "BAT ICMP");
 
-	ether_header = (struct ether_header *)packet_buff;
 	icmp_packet = (struct icmp_packet *)(packet_buff + sizeof(struct ether_header));
 
 	if (!time_printed)
-		time_printed = print_time();
+		print_time();
 
 	printf("BAT %s > ", get_name_by_macaddr((struct ether_addr *)icmp_packet->orig, read_opt));
 
@@ -373,13 +371,11 @@ static void dump_batman_bcast(unsigned char *packet_buff, ssize_t buff_len, int
 
 static void dump_batman_frag(unsigned char *packet_buff, ssize_t buff_len, int read_opt, int time_printed)
 {
-	struct ether_header *ether_header;
 	struct unicast_frag_packet *unicast_frag_packet;
 
 	LEN_CHECK((size_t)buff_len - ETH_HLEN, sizeof(struct unicast_frag_packet), "BAT FRAG");
 	LEN_CHECK((size_t)buff_len - ETH_HLEN - sizeof(struct unicast_frag_packet), (size_t)ETH_HLEN, "BAT FRAG (unpacked)");
 
-	ether_header = (struct ether_header *)packet_buff;
 	unicast_frag_packet = (struct unicast_frag_packet *)(packet_buff + ETH_HLEN);
 
 	if (!time_printed)
diff --git a/batctl/vis.c b/batctl/vis.c
index ad612ff..4bc5954 100644
--- a/batctl/vis.c
+++ b/batctl/vis.c
@@ -183,7 +183,6 @@ static FILE *open_vis(char *mesh_iface)
 static int format(char *mesh_iface, const struct funcs *funcs)
 {
 	size_t len = 0;
-	ssize_t read;
 	char *line = NULL;
 	char *orig, *from;
 	char *duplet;
@@ -202,7 +201,7 @@ static int format(char *mesh_iface, const struct funcs *funcs)
 	if (funcs->print_header)
 		funcs->print_header();
 
-	while ((read = getline(&line, &len, fp)) != -1) {
+	while (getline(&line, &len, fp) != -1) {
 		/* First MAC address is the originator */
 		orig = strtok_r(line, ",", &line_save_ptr);
 
-- 
1.7.2.3


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [B.A.T.M.A.N.] [PATCH 1/6] batctl: Correct format strings for 8 bit ttl
  2010-10-30 15:00 [B.A.T.M.A.N.] [PATCH 1/6] batctl: Correct format strings for 8 bit ttl Sven Eckelmann
                   ` (4 preceding siblings ...)
  2010-10-30 15:00 ` [B.A.T.M.A.N.] [PATCH 6/6] batctl: Convert strtok to reentrant safe strtok_r Sven Eckelmann
@ 2010-11-04 14:05 ` Marek Lindner
  5 siblings, 0 replies; 10+ messages in thread
From: Marek Lindner @ 2010-11-04 14:05 UTC (permalink / raw)
  To: The list for a Better Approach To Mobile Ad-hoc Networking

On Saturday 30 October 2010 17:00:53 Sven Eckelmann wrote:
> Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
> ---
>  batctl/tcpdump.c    |    4 ++--
>  batctl/traceroute.c |    4 ++--
>  2 files changed, 4 insertions(+), 4 deletions(-)

All patches have been applied (revision 1858-1863). I slightly modified patch 5 
to keep the current behavior if no loop interval was specified.

Thanks,
Marek


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2010-11-04 14:05 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-10-30 15:00 [B.A.T.M.A.N.] [PATCH 1/6] batctl: Correct format strings for 8 bit ttl Sven Eckelmann
2010-10-30 15:00 ` [B.A.T.M.A.N.] [PATCH 2/6] batctl: Don't print uninitialised traceroute times Sven Eckelmann
2010-10-30 15:00 ` [B.A.T.M.A.N.] [PATCH 3/6] batctl: Remove unused variables Sven Eckelmann
2010-11-01 11:26   ` Marek Lindner
2010-11-01 11:34     ` Sven Eckelmann
2010-11-01 11:48   ` [B.A.T.M.A.N.] [PATCHv2 " Sven Eckelmann
2010-10-30 15:00 ` [B.A.T.M.A.N.] [PATCH 4/6] batctl: Initialise timeout before usage in error case Sven Eckelmann
2010-10-30 15:00 ` [B.A.T.M.A.N.] [PATCH 5/6] batctl: Readd ping interval after each loop Sven Eckelmann
2010-10-30 15:00 ` [B.A.T.M.A.N.] [PATCH 6/6] batctl: Convert strtok to reentrant safe strtok_r Sven Eckelmann
2010-11-04 14:05 ` [B.A.T.M.A.N.] [PATCH 1/6] batctl: Correct format strings for 8 bit ttl Marek Lindner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).