* [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
* 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
* [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 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