@@ -32,6 +32,7 @@ int sc = -1;
3232void state_bcm ()
3333{
3434 int i , j , ret ;
35+ unsigned long long sec , usec ;
3536 struct sockaddr_can caddr ;
3637 socklen_t caddrlen = sizeof (caddr );
3738 struct ifreq ifr ;
@@ -106,7 +107,8 @@ void state_bcm()
106107 if (msg .frame .can_dlc != CAN_ERR_DLC ) {
107108 PRINT_ERROR ("Error frame has a wrong DLC!\n" );
108109 } else {
109- snprintf (rxmsg , RXLEN , "< error %03X %ld.%06ld " , msg .msg_head .can_id , tv .tv_sec , tv .tv_usec );
110+ snprintf (rxmsg , RXLEN , "< error %03X %lld.%06lld " , msg .msg_head .can_id ,
111+ (signed long long ) tv .tv_sec , (signed long long ) tv .tv_usec );
110112
111113 for (i = 0 ; i < msg .frame .can_dlc ; i ++ )
112114 snprintf (rxmsg + strlen (rxmsg ), RXLEN - strlen (rxmsg ), "%02X " ,
@@ -118,11 +120,13 @@ void state_bcm()
118120 }
119121 } else {
120122 if (msg .msg_head .can_id & CAN_EFF_FLAG ) {
121- snprintf (rxmsg , RXLEN , "< frame %08X %ld.%06ld " ,
122- msg .msg_head .can_id & CAN_EFF_MASK , tv .tv_sec , tv .tv_usec );
123+ snprintf (rxmsg , RXLEN , "< frame %08X %lld.%06lld " ,
124+ msg .msg_head .can_id & CAN_EFF_MASK ,
125+ (signed long long ) tv .tv_sec , (signed long long ) tv .tv_usec );
123126 } else {
124- snprintf (rxmsg , RXLEN , "< frame %03X %ld.%06ld " ,
125- msg .msg_head .can_id & CAN_SFF_MASK , tv .tv_sec , tv .tv_usec );
127+ snprintf (rxmsg , RXLEN , "< frame %03X %lld.%06lld " ,
128+ msg .msg_head .can_id & CAN_SFF_MASK ,
129+ (signed long long ) tv .tv_sec , (signed long long ) tv .tv_usec );
126130 }
127131
128132 for (i = 0 ; i < msg .frame .can_dlc ; i ++ )
@@ -203,11 +207,12 @@ void state_bcm()
203207 }
204208 /* Add a send job */
205209 } else if (!strncmp ("< add " , buf , 6 )) {
206- items = sscanf (buf , "< %*s %lu %lu %x %hhu "
210+
211+ items = sscanf (buf , "< %*s %llu %llu %x %hhu "
207212 "%hhx %hhx %hhx %hhx %hhx %hhx "
208213 "%hhx %hhx >" ,
209- & msg . msg_head . ival2 . tv_sec ,
210- & msg . msg_head . ival2 . tv_usec ,
214+ & sec ,
215+ & usec ,
211216 & msg .msg_head .can_id ,
212217 & msg .frame .can_dlc ,
213218 & msg .frame .data [0 ],
@@ -230,6 +235,8 @@ void state_bcm()
230235 if (element_length (buf , 4 ) == 8 )
231236 msg .msg_head .can_id |= CAN_EFF_FLAG ;
232237
238+ msg .msg_head .ival2 .tv_sec = sec ;
239+ msg .msg_head .ival2 .tv_usec = usec ;
233240 msg .msg_head .opcode = TX_SETUP ;
234241 msg .msg_head .flags |= SETTIMER | STARTTIMER ;
235242 msg .frame .can_id = msg .msg_head .can_id ;
@@ -299,11 +306,11 @@ void state_bcm()
299306 }
300307 /* Receive CAN ID with content matching */
301308 } else if (!strncmp ("< filter " , buf , 9 )) {
302- items = sscanf (buf , "< %*s %lu %lu %x %hhu "
309+ items = sscanf (buf , "< %*s %llu %llu %x %hhu "
303310 "%hhx %hhx %hhx %hhx %hhx %hhx "
304311 "%hhx %hhx >" ,
305- & msg . msg_head . ival2 . tv_sec ,
306- & msg . msg_head . ival2 . tv_usec ,
312+ & sec ,
313+ & usec ,
307314 & msg .msg_head .can_id ,
308315 & msg .frame .can_dlc ,
309316 & msg .frame .data [0 ],
@@ -326,6 +333,8 @@ void state_bcm()
326333 if (element_length (buf , 4 ) == 8 )
327334 msg .msg_head .can_id |= CAN_EFF_FLAG ;
328335
336+ msg .msg_head .ival2 .tv_sec = sec ;
337+ msg .msg_head .ival2 .tv_usec = usec ;
329338 msg .msg_head .opcode = RX_SETUP ;
330339 msg .msg_head .flags = SETTIMER ;
331340 msg .frame .can_id = msg .msg_head .can_id ;
@@ -342,9 +351,9 @@ void state_bcm()
342351
343352 memset (& muxmsg , 0 , sizeof (muxmsg ));
344353
345- items = sscanf (buf , "< %*s %lu %lu %x %u " ,
346- & muxmsg . msg_head . ival2 . tv_sec ,
347- & muxmsg . msg_head . ival2 . tv_usec ,
354+ items = sscanf (buf , "< %*s %llu %llu %x %u " ,
355+ & sec ,
356+ & usec ,
348357 & muxmsg .msg_head .can_id ,
349358 & muxmsg .msg_head .nframes );
350359
@@ -359,6 +368,8 @@ void state_bcm()
359368 if (element_length (buf , 4 ) == 8 )
360369 muxmsg .msg_head .can_id |= CAN_EFF_FLAG ;
361370
371+ msg .msg_head .ival2 .tv_sec = sec ;
372+ msg .msg_head .ival2 .tv_usec = usec ;
362373 muxmsg .msg_head .opcode = RX_SETUP ;
363374 muxmsg .msg_head .flags = SETTIMER ;
364375
@@ -404,9 +415,9 @@ void state_bcm()
404415 }
405416 /* Add a filter */
406417 } else if (!strncmp ("< subscribe " , buf , 12 )) {
407- items = sscanf (buf , "< %*s %lu %lu %x >" ,
408- & msg . msg_head . ival2 . tv_sec ,
409- & msg . msg_head . ival2 . tv_usec ,
418+ items = sscanf (buf , "< %*s %llu %llu %x >" ,
419+ & sec ,
420+ & usec ,
410421 & msg .msg_head .can_id );
411422
412423 if (items != 3 ) {
@@ -418,6 +429,8 @@ void state_bcm()
418429 if (element_length (buf , 4 ) == 8 )
419430 msg .msg_head .can_id |= CAN_EFF_FLAG ;
420431
432+ msg .msg_head .ival2 .tv_sec = sec ;
433+ msg .msg_head .ival2 .tv_usec = usec ;
421434 msg .msg_head .opcode = RX_SETUP ;
422435 msg .msg_head .flags = RX_FILTER_ID | SETTIMER ;
423436 msg .frame .can_id = msg .msg_head .can_id ;
0 commit comments