From: andreaskoepke Date: Wed, 24 Jun 2009 10:11:35 +0000 (+0000) Subject: stricter check for packet type X-Git-Tag: rc_6_tinyos_2_1_1~370 X-Git-Url: https://oss.titaniummirror.com/gitweb/?a=commitdiff_plain;h=246233eb970e1098c98561b507b0749c1b2bec73;hp=fd826b0c6dd6212ab904a02b85130d620f6b8ab7;p=tinyos-2.x.git stricter check for packet type --- diff --git a/support/sdk/cpp/sf/serialcomm.cpp b/support/sdk/cpp/sf/serialcomm.cpp index ff6901e9..a5869f1c 100644 --- a/support/sdk/cpp/sf/serialcomm.cpp +++ b/support/sdk/cpp/sf/serialcomm.cpp @@ -435,6 +435,8 @@ bool SerialComm::readPacket(SFPacket &pPacket) count = 0; } else { + bool dobreak = true; + DEBUG("SerialComm::readPacket : frame size = " << count); if(checkCrc(buffer, count)) { pPacket.setType(buffer[typeOffset]); pPacket.setSeqno(buffer[seqnoOffset]); @@ -448,11 +450,12 @@ bool SerialComm::readPacket(SFPacket &pPacket) pPacket.setPayload((char *)(&buffer[payloadOffset]), count+1 - serialHeaderBytes); break; default: + dobreak = false; DEBUG("SerialComm::readPacket : unknown packet type = " \ << static_cast(buffer[typeOffset] & 0xff)); break; } - break; // leave loop + if(dobreak) break; // leave loop } else { DEBUG("SerialComm::readPacket : bad crc");