From: Oliver Hartkopp Date: Tue, 29 Jan 2013 19:50:46 +0000 (+0100) Subject: cangw: fix inverse filter display when printing the configured rules X-Git-Url: https://rtime.felk.cvut.cz/gitweb/can-utils.git/commitdiff_plain/29c3e344a5f2822854a1747ee5f2cdf887db13c7 cangw: fix inverse filter display when printing the configured rules A configured inverse filter e.g. cangw -A -s can0 -d can1 -e -f 123~7FF has been displayed with 'cangw -L' like this: cangw -A -s can0 -d can1 -e -f 20000123:7FF # 0 handled 0 dropped 0 deleted While 0x20000000 was the value of CAN_INV_FILTER. This patch fixes the output to the expected display: cangw -A -s can0 -d can1 -e -f 123~7FF # 0 handled 0 dropped 0 deleted Signed-off-by: Oliver Hartkopp --- diff --git a/cangw.c b/cangw.c index 4b4595c..802aa86 100644 --- a/cangw.c +++ b/cangw.c @@ -98,7 +98,10 @@ void printfilter(const void *data) { struct can_filter *filter = (struct can_filter *)data; - printf("-f %03X:%X ", filter->can_id, filter->can_mask); + if (filter->can_id & CAN_INV_FILTER) + printf("-f %03X~%X ", (filter->can_id & ~CAN_INV_FILTER), filter->can_mask); + else + printf("-f %03X:%X ", filter->can_id, filter->can_mask); } void printmod(const char *type, const void *data)