From c45ee0cdbe1ce2e1cd7dc83291b40e960e443392 Mon Sep 17 00:00:00 2001 From: Heydar Elahi Date: Wed, 9 Aug 2017 18:53:35 +0430 Subject: [PATCH] omit extra sets and clears old code does extra sets and clears in case of quiet==1 so I've changed if statement orders and used else if --- cansniffer.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/cansniffer.c b/cansniffer.c index 7b0a3fa..b95f11b 100644 --- a/cansniffer.c +++ b/cansniffer.c @@ -265,7 +265,10 @@ int main(int argc, char **argv) exit(0); } - if (mask || value) { + if (quiet) + for (i = 0; i < 2048; i++) + do_clr(i, ENABLE); + else if (mask || value) { for (i=0; i < 2048 ;i++) { if ((i & mask) == (value & mask)) do_set(i, ENABLE); @@ -274,10 +277,6 @@ int main(int argc, char **argv) } } - if (quiet) - for (i=0; i < 2048 ;i++) - do_clr(i, ENABLE); - if (strlen(argv[optind]) >= IFNAMSIZ) { printf("name of CAN device '%s' is too long!\n", argv[optind]); return 1;