Skip to content

Commit 13226d1

Browse files
committed
Fix nits in independent monitor code.
1 parent 758a9b8 commit 13226d1

File tree

3 files changed

+46
-49
lines changed

3 files changed

+46
-49
lines changed

configuration.c

+26-26
Original file line numberDiff line numberDiff line change
@@ -969,38 +969,38 @@ parse_option(int c, gnc_t gnc, void *closure, char *token)
969969

970970
}
971971

972-
int
973-
parse_monitor_dump_filter(char *token, int *action_return, int c, gnc_t *gnc, void *closure)
972+
static int
973+
parse_monitor_dump_filter(int *action_return, int c, gnc_t *gnc, void *closure)
974974
{
975-
char *token2 = NULL;
976-
c = skip_whitespace(c, *gnc, closure);
977-
978-
c = getword(c, &token2, *gnc, closure);
979-
980975
int filter = 0;
981-
if(token2) {
982-
if(strcmp(token2, "route") == 0)
983-
filter = FILTER_ROUTE;
984-
else if(strcmp(token2, "interface") == 0)
985-
filter = FILTER_INTERFACE;
986-
else if(strcmp(token2, "xroute") == 0)
987-
filter = FILTER_XROUTE;
988-
else if(strcmp(token2, "neighbour") == 0)
989-
filter = FILTER_NEIGHBOUR;
990-
else
991-
filter = FILTER_INVALID;
992-
free(token2);
976+
char *token = NULL;
977+
978+
c = skip_whitespace(c, *gnc, closure);
979+
c = getword(c, &token, *gnc, closure);
980+
if(c < -1 || token == NULL) {
981+
free(token);
982+
return c;
993983
}
994984

985+
if(strcmp(token, "route") == 0)
986+
filter = FILTER_ROUTE;
987+
else if(strcmp(token, "interface") == 0)
988+
filter = FILTER_INTERFACE;
989+
else if(strcmp(token, "xroute") == 0)
990+
filter = FILTER_XROUTE;
991+
else if(strcmp(token, "neighbour") == 0)
992+
filter = FILTER_NEIGHBOUR;
993+
else
994+
filter = FILTER_INVALID;
995+
free(token);
996+
995997
c = skip_eol(c, *gnc, closure);
996998
if(filter < FILTER_INVALID) {
997999
*action_return += filter;
9981000
if(!filter) // no (invalid) filters detected, show everything
999-
c = -1;
1000-
} else {
1001-
c = -2;
1001+
return -1;
10021002
}
1003-
return c;
1003+
return -2;
10041004
}
10051005

10061006
static int
@@ -1031,13 +1031,13 @@ parse_config_line(int c, gnc_t gnc, void *closure,
10311031
*action_return = CONFIG_ACTION_QUIT;
10321032
} else if(strcmp(token, "dump") == 0) {
10331033
*action_return = CONFIG_ACTION_DUMP;
1034-
c = parse_monitor_dump_filter(token, action_return, c, &gnc, closure);
1034+
c = parse_monitor_dump_filter(action_return, c, &gnc, closure);
10351035
} else if(strcmp(token, "monitor") == 0) {
10361036
*action_return = CONFIG_ACTION_MONITOR;
1037-
c = parse_monitor_dump_filter(token, action_return, c, &gnc, closure);
1037+
c = parse_monitor_dump_filter(action_return, c, &gnc, closure);
10381038
} else if(strcmp(token, "unmonitor") == 0) {
10391039
*action_return = CONFIG_ACTION_UNMONITOR;
1040-
c = parse_monitor_dump_filter(token, action_return, c, &gnc, closure);
1040+
c = parse_monitor_dump_filter(action_return, c, &gnc, closure);
10411041
} else if(config_finalised && !local_server_write) {
10421042
/* The remaining directives are only allowed in read-write mode. */
10431043
c = skip_to_eol(c, gnc, closure);

local.c

+16-19
Original file line numberDiff line numberDiff line change
@@ -133,12 +133,11 @@ local_notify_interface(struct interface *ifp, int kind)
133133
{
134134
int i;
135135
for(i = 0; i < num_local_sockets; i++) {
136-
if(local_sockets[i].monitor & (0x01 << SHOW_INTERFACE))
136+
if(local_sockets[i].monitor & SHOW_INTERFACE)
137137
local_notify_interface_1(&local_sockets[i], ifp, kind);
138138
}
139139
}
140140

141-
142141
static void
143142
local_notify_neighbour_1(struct local_socket *s,
144143
struct neighbour *neigh, int kind)
@@ -189,7 +188,7 @@ local_notify_neighbour(struct neighbour *neigh, int kind)
189188
{
190189
int i;
191190
for(i = 0; i < num_local_sockets; i++) {
192-
if(local_sockets[i].monitor & (0x01 << SHOW_NEIGHBOUR))
191+
if(local_sockets[i].monitor & SHOW_NEIGHBOUR)
193192
local_notify_neighbour_1(&local_sockets[i], neigh, kind);
194193
}
195194
}
@@ -226,7 +225,7 @@ local_notify_xroute(struct xroute *xroute, int kind)
226225
{
227226
int i;
228227
for(i = 0; i < num_local_sockets; i++) {
229-
if(local_sockets[i].monitor & (0x01 << SHOW_XROUTE))
228+
if(local_sockets[i].monitor & SHOW_XROUTE)
230229
local_notify_xroute_1(&local_sockets[i], xroute, kind);
231230
}
232231
}
@@ -271,7 +270,7 @@ local_notify_route(struct babel_route *route, int kind)
271270
{
272271
int i;
273272
for(i = 0; i < num_local_sockets; i++) {
274-
if(local_sockets[i].monitor & (0x01 << SHOW_ROUTE))
273+
if(local_sockets[i].monitor & SHOW_ROUTE)
275274
local_notify_route_1(&local_sockets[i], route, kind);
276275
}
277276
}
@@ -334,13 +333,13 @@ local_notify_all_route_1(struct local_socket *s)
334333
static void
335334
local_notify_all(struct local_socket *s, unsigned int mask)
336335
{
337-
if(mask & (0x01 << SHOW_INTERFACE))
336+
if(mask & SHOW_INTERFACE)
338337
local_notify_all_interface_1(s);
339-
if(mask & (0x01 << SHOW_NEIGHBOUR))
338+
if(mask & SHOW_NEIGHBOUR)
340339
local_notify_all_neighbour_1(s);
341-
if(mask & (0x01 << SHOW_ROUTE))
340+
if(mask & SHOW_ROUTE)
342341
local_notify_all_route_1(s);
343-
if(mask & (0x01 << SHOW_XROUTE))
342+
if(mask & SHOW_XROUTE)
344343
local_notify_all_xroute_1(s);
345344
}
346345

@@ -360,29 +359,27 @@ show_flags_map(int rc)
360359
case CONFIG_ACTION_MONITOR_ROUTE:
361360
case CONFIG_ACTION_UNMONITOR_ROUTE:
362361
case CONFIG_ACTION_DUMP_ROUTE:
363-
return 0x01 << SHOW_ROUTE;
362+
return SHOW_ROUTE;
364363
case CONFIG_ACTION_MONITOR_INTERFACE:
365364
case CONFIG_ACTION_UNMONITOR_INTERFACE:
366365
case CONFIG_ACTION_DUMP_INTERFACE:
367-
return 0x01 << SHOW_INTERFACE;
366+
return SHOW_INTERFACE;
368367
case CONFIG_ACTION_MONITOR_XROUTE:
369368
case CONFIG_ACTION_UNMONITOR_XROUTE:
370369
case CONFIG_ACTION_DUMP_XROUTE:
371-
return 0x01 << SHOW_XROUTE;
370+
return SHOW_XROUTE;
372371
case CONFIG_ACTION_MONITOR_NEIGHBOUR:
373372
case CONFIG_ACTION_UNMONITOR_NEIGHBOUR:
374373
case CONFIG_ACTION_DUMP_NEIGHBOUR:
375-
return 0x01 << SHOW_NEIGHBOUR;
374+
return SHOW_NEIGHBOUR;
376375
case CONFIG_ACTION_MONITOR:
377376
case CONFIG_ACTION_UNMONITOR:
378377
case CONFIG_ACTION_DUMP:
379-
return 0xff;
378+
return ~0U;
380379
}
381-
return 0;
380+
return 0U;
382381
}
383382

384-
385-
386383
int
387384
local_read(struct local_socket *s)
388385
{
@@ -445,11 +442,11 @@ local_read(struct local_socket *s)
445442
s->monitor &= ~show_flags_map(rc);
446443
break;
447444
case CONFIG_ACTION_UNMONITOR:
448-
s->monitor = 0x00;
445+
s->monitor = 0U;
449446
break;
450447
case CONFIG_ACTION_NO:
451448
snprintf(reply, sizeof(reply), "no%s%s\n",
452-
message ? " " : "", message ? message : "");
449+
message ? " " : "", message ? message : "");
453450
break;
454451
default:
455452
snprintf(reply, sizeof(reply), "bad\n");

local.h

+4-4
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,10 @@ struct local_socket {
4141
unsigned int monitor;
4242
};
4343

44-
#define SHOW_NEIGHBOUR 1
45-
#define SHOW_INTERFACE 2
46-
#define SHOW_ROUTE 3
47-
#define SHOW_XROUTE 4
44+
#define SHOW_NEIGHBOUR (1 << 0)
45+
#define SHOW_INTERFACE (1 << 1)
46+
#define SHOW_ROUTE (1 << 2)
47+
#define SHOW_XROUTE (1 << 3)
4848

4949
extern int local_server_socket;
5050
extern struct local_socket local_sockets[MAX_LOCAL_SOCKETS];

0 commit comments

Comments
 (0)