From 47fbe8fec25823a54f4eb7630aedb6d5d716a7b9 Mon Sep 17 00:00:00 2001 From: Oliver Hartkopp Date: Wed, 1 Apr 2015 12:58:27 +0200 Subject: [PATCH 1/1] candump: check for joined filter support at runtime Signed-off-by: Oliver Hartkopp --- candump.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/candump.c b/candump.c index eab9495..5daf622 100644 --- a/candump.c +++ b/candump.c @@ -499,14 +499,16 @@ int main(int argc, char **argv) setsockopt(s[i], SOL_CAN_RAW, CAN_RAW_ERR_FILTER, &err_mask, sizeof(err_mask)); + if (join_filter && setsockopt(s[i], SOL_CAN_RAW, CAN_RAW_JOIN_FILTERS, + &join_filter, sizeof(join_filter)) < 0) { + perror("setsockopt CAN_RAW_JOIN_FILTERS not supported by your Linux Kernel"); + return 1; + } + if (numfilter) setsockopt(s[i], SOL_CAN_RAW, CAN_RAW_FILTER, rfilter, numfilter * sizeof(struct can_filter)); - if (join_filter) - setsockopt(s[i], SOL_CAN_RAW, CAN_RAW_JOIN_FILTERS, - &join_filter, sizeof(join_filter)); - free(rfilter); } /* if (nptr) */ -- 2.39.2