]> rtime.felk.cvut.cz Git - can-utils.git/commitdiff
isotpdump: add support for FF_DL escape sequence for 32 bit PDU length
authorOliver Hartkopp <socketcan@hartkopp.net>
Sun, 16 Nov 2014 21:14:02 +0000 (22:14 +0100)
committerOliver Hartkopp <socketcan@hartkopp.net>
Sun, 16 Nov 2014 21:14:02 +0000 (22:14 +0100)
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
isotpdump.c

index b2de8c23275d38831ae76ad6dfa58abd83069257..85be399e8c43be843d286139b99ff27b44adf401 100644 (file)
@@ -94,6 +94,7 @@ int main(int argc, char **argv)
        int color = 0;
        int timestamp = 0;
        int datidx = 0;
+       unsigned long fflen = 0;
        struct ifreq ifr;
        int ifindex;
        struct timeval tv, last_tv;
@@ -295,9 +296,17 @@ int main(int argc, char **argv)
                                break;
 
                        case 0x10:
-                               printf("[FF] ln: %-4d data:",
-                                      ((n_pci & 0x0F)<<8) + frame.data[ext+1] );
-                               datidx = ext+2;
+                               fflen = ((n_pci & 0x0F)<<8) + frame.data[ext+1];
+                               if (fflen)
+                                       datidx = ext+2;
+                               else {
+                                       fflen = (frame.data[ext+2]<<24) +
+                                               (frame.data[ext+3]<<16) +
+                                               (frame.data[ext+4]<<8) +
+                                               frame.data[ext+5];
+                                       datidx = ext+6;
+                               }
+                               printf("[FF] ln: %-4lu data:", fflen);
                                break;
 
                        case 0x20: