From 82e066a7f81c00605e09302b8986ec54a5a33e5d Mon Sep 17 00:00:00 2001 From: hartkopp Date: Thu, 29 Jul 2010 09:44:09 +0000 Subject: [PATCH] Added mandatory commandline option to specify the CAN network device. git-svn-id: svn://svn.berlios.de//socketcan/trunk@1192 030b6a49-0b11-0410-94ab-b0dab22257f2 --- test/tst-rcv-own-msgs.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/test/tst-rcv-own-msgs.c b/test/tst-rcv-own-msgs.c index ed96e3b..9dfb59d 100644 --- a/test/tst-rcv-own-msgs.c +++ b/test/tst-rcv-own-msgs.c @@ -141,10 +141,15 @@ int main(int argc, char **argv) int s, t; struct sockaddr_can addr; struct ifreq ifr; - int ifindex; int i = 0; + /* check command line options */ + if (argc != 2) { + fprintf(stderr, "Usage: %s \n", argv[0]); + return 1; + } + if ((s = socket(PF_CAN, SOCK_RAW, CAN_RAW)) < 0) { perror("socket"); return 1; @@ -154,12 +159,13 @@ int main(int argc, char **argv) return 1; } - strcpy(ifr.ifr_name, "vcan0"); - ioctl(s, SIOCGIFINDEX, &ifr); - ifindex = ifr.ifr_ifindex; - + strcpy(ifr.ifr_name, argv[1]); + if (ioctl(s, SIOCGIFINDEX, &ifr) < 0) { + perror("SIOCGIFINDEX"); + return 1; + } + addr.can_ifindex = ifr.ifr_ifindex; addr.can_family = AF_CAN; - addr.can_ifindex = ifindex; if (bind(s, (struct sockaddr *)&addr, sizeof(addr)) < 0) { perror("bind"); -- 2.39.2