]> rtime.felk.cvut.cz Git - socketcan-devel.git/commitdiff
Added option '-e' to hold the socket open even when errors like ENETDOWN or
authorhartkopp <hartkopp@030b6a49-0b11-0410-94ab-b0dab22257f2>
Thu, 14 Jun 2007 06:31:15 +0000 (06:31 +0000)
committerhartkopp <hartkopp@030b6a49-0b11-0410-94ab-b0dab22257f2>
Thu, 14 Jun 2007 06:31:15 +0000 (06:31 +0000)
ENODEV occur at runtime.

git-svn-id: svn://svn.berlios.de//socketcan/trunk@354 030b6a49-0b11-0410-94ab-b0dab22257f2

test/tst-raw.c

index e25c5bd0357fe3a9f02610be7ec9165bcfb4dd1b..c86272d026371459ab5e04c49b1808973fa889f6 100644 (file)
@@ -77,8 +77,9 @@ int main(int argc, char **argv)
     int recv_own_msgs = 0;
     int set_recv_own_msgs = 0;
     int send_one_frame = 0;
+    int ignore_errors = 0;
 
-    while ((opt = getopt(argc, argv, "i:l:r:s")) != -1) {
+    while ((opt = getopt(argc, argv, "i:l:r:se")) != -1) {
         switch (opt) {
 
         case 'i':
@@ -99,6 +100,10 @@ int main(int argc, char **argv)
            send_one_frame = 1;
             break;
 
+        case 'e':
+           ignore_errors = 1;
+            break;
+
         default:
             fprintf(stderr, "Unknown option %c\n", opt);
             break;
@@ -154,7 +159,8 @@ int main(int argc, char **argv)
 
        if ((nbytes = read(s, &frame, sizeof(struct can_frame))) < 0) {
            perror("read");
-           return 1;
+           if (!ignore_errors)
+               return 1;
        } else if (nbytes < sizeof(struct can_frame)) {
            fprintf(stderr, "read: incomplete CAN frame\n");
            return 1;