From 197fe386b95dd70d7a3c3d1114101a89415ef445 Mon Sep 17 00:00:00 2001 From: Florian Pose Date: Fri, 16 Sep 2011 12:44:54 +0200 Subject: [PATCH] Don not copy frame data to datagram memory, if datagram type is write-only. --- master/master.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/master/master.c b/master/master.c index 821e9717..034e4350 100644 --- a/master/master.c +++ b/master/master.c @@ -1094,8 +1094,14 @@ void ec_master_receive_datagrams(ec_master_t *master, /**< EtherCAT master */ continue; } - // copy received data into the datagram memory - memcpy(datagram->data, cur_data, data_size); + if (datagram->type != EC_DATAGRAM_APWR && + datagram->type != EC_DATAGRAM_FPWR && + datagram->type != EC_DATAGRAM_BWR && + datagram->type != EC_DATAGRAM_LWR) { + // copy received data into the datagram memory, + // if something has been read + memcpy(datagram->data, cur_data, data_size); + } cur_data += data_size; // set the datagram's working counter