]> rtime.felk.cvut.cz Git - can-utils.git/blobdiff - isotpperf.c
janitorial: log2asc: properly close infile and outfile
[can-utils.git] / isotpperf.c
index c8c60c8aed4b4186b3e89735efecd7abd6dcb440..db3a2b73e5a2e3a3fdc0092c96d73de0c5a4a7ef 100644 (file)
@@ -104,6 +104,7 @@ int main(int argc, char **argv)
        unsigned char bs = 0;
        unsigned char stmin = 0;
        unsigned char brs = 0;
+       unsigned char ll_dl = 0;
        unsigned long fflen = 0;
        unsigned fflen_digits = 0;
        unsigned long rcvlen = 0;
@@ -219,7 +220,7 @@ int main(int argc, char **argv)
                        running = 0;
                        continue;
                } else if (nbytes != CAN_MTU && nbytes != CANFD_MTU) {
-                       fprintf(stderr, "read: incomplete CAN frame %lu %d\n", sizeof(frame), nbytes);
+                       fprintf(stderr, "read: incomplete CAN frame %zu %d\n", sizeof(frame), nbytes);
                        ret = nbytes;
                        running = 0;
                        continue;
@@ -274,8 +275,11 @@ int main(int argc, char **argv)
                                /* get number of digits for printing */
                                fflen_digits = getdigits(fflen);
 
-                               /* get CAN FD bitrate setting information */
+                               /* get CAN FD bitrate & LL_DL setting information */
                                brs = frame.flags & CANFD_BRS;
+                               ll_dl = frame.len;
+                               if (ll_dl < 8)
+                                       ll_dl = 8;
 
                                ioctl(s, SIOCGSTAMP, &start_tv);
 
@@ -313,8 +317,9 @@ int main(int argc, char **argv)
                                /* get number of digits for printing */
                                fflen_digits = getdigits(fflen);
 
-                               /* get CAN FD bitrate setting information */
+                               /* get CAN FD bitrate & LL_DL setting information */
                                brs = frame.flags & CANFD_BRS;
+                               ll_dl = frame.len;
 
                                ioctl(s, SIOCGSTAMP, &start_tv);
 
@@ -367,7 +372,7 @@ int main(int argc, char **argv)
                        /* PDU complete */
                        if (rcvlen && rcvlen >= fflen) {
 
-                               printf("\r%s%c (BS:%2hhu # ", canfd_on?"CAN-FD":"CAN2.0", brs?'*':' ', bs);
+                               printf("\r%s %02d%c (BS:%2hhu # ", canfd_on?"CAN-FD":"CAN2.0", ll_dl, brs?'*':' ', bs);
                                if (stmin < 0x80)
                                        printf("STmin:%3hhu msec)", stmin);
                                else if (stmin > 0xF0 && stmin < 0xFA)