X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=CAN-binder%2Flow-can-binding%2Futils%2Fsocketcan-bcm.cpp;h=2b00adbd17bb657fb7f5bb739f0fdfaee9992a3f;hb=4ab2164774bdb9a29b2f180a9013c26c0155628d;hp=cd84a851d613aa38830481af0aafe049a73a1dcb;hpb=7929a62962cff8bbb456bd0c3761dc68afc3d766;p=apps%2Fagl-service-can-low-level.git diff --git a/CAN-binder/low-can-binding/utils/socketcan-bcm.cpp b/CAN-binder/low-can-binding/utils/socketcan-bcm.cpp index cd84a851..2b00adbd 100644 --- a/CAN-binder/low-can-binding/utils/socketcan-bcm.cpp +++ b/CAN-binder/low-can-binding/utils/socketcan-bcm.cpp @@ -69,11 +69,9 @@ namespace utils socketcan_bcm_t& operator>>(socketcan_bcm_t& s, can_message_t& cm) { - struct { - struct bcm_msg_head msg_head; - struct can_frame frames; - } msg; + struct utils::simple_bcm_msg msg; + ::memset(&msg, 0, sizeof(msg)); const struct sockaddr_can& addr = s.get_tx_address(); socklen_t addrlen = sizeof(addr); struct ifreq ifr; @@ -92,10 +90,7 @@ namespace utils cm = ::can_message_t::convert_from_frame(msg.frames , nbytes-sizeof(struct bcm_msg_head), timestamp); - if(application_t::instance().get_diagnostic_manager().is_diagnostic_response(cm)) - {cm.set_sub_id(msg.frames.data[2]);} - else - {cm.set_sub_id((int)s.socket());} + cm.set_sub_id((int)s.socket()); return s; }