Commit fcebf84d authored by captainwong's avatar captainwong

fix

parent 19290bbb
...@@ -553,7 +553,7 @@ struct ZoneResponse { ...@@ -553,7 +553,7 @@ struct ZoneResponse {
bool parse(ZoneAndProperties& zps, bool& hasMore) { bool parse(ZoneAndProperties& zps, bool& hasMore) {
if (len < min_len || data[3] != len) { return false; } // check valid again if (len < min_len || data[3] != len) { return false; } // check valid again
Char sum_ = data[len - 1]; sum(data, len); if (sum_ != data[len - 1]) { return false; } // check sum again Char sum_ = data[len - 1]; sum(data, len); if (sum_ != data[len - 1]) { return false; } // check sum again
Char count = (len - min_len) >> 2; // zone/prop pairs Char count = Char(len - min_len) >> 1; // zone/prop pairs
if (count == 0) { zps.clear(); hasMore = false; return true; } if (count == 0) { zps.clear(); hasMore = false; return true; }
for (Char i = 0; i < count; i++) { for (Char i = 0; i < count; i++) {
ZoneAndProperty zp; ZoneAndProperty zp;
...@@ -755,7 +755,7 @@ struct QuerySensorLostSettingsResponse { ...@@ -755,7 +755,7 @@ struct QuerySensorLostSettingsResponse {
if (len < min_len || data[3] != len) { return false; } // check valid again if (len < min_len || data[3] != len) { return false; } // check valid again
Char sum_ = data[len - 1]; sum(data, len); if (sum_ != data[len - 1]) { return false; } // check sum again Char sum_ = data[len - 1]; sum(data, len); if (sum_ != data[len - 1]) { return false; } // check sum again
Char flag = data[6]; if (flag != P1FlagZoneAs1Char && flag != P1FlagZoneAs2Chars) { return false; } // check param Char flag = data[6]; if (flag != P1FlagZoneAs1Char && flag != P1FlagZoneAs2Chars) { return false; } // check param
Char count = (len - min_len); if (flag == P1FlagZoneAs2Chars) { count /= 2; } Char count = Char(len - min_len); if (flag == P1FlagZoneAs2Chars) { count >>= 1; }
if (count == 0) { zones.clear(); hasMore = false; return true; } if (count == 0) { zones.clear(); hasMore = false; return true; }
for (Char i = 0; i < count; i++) { for (Char i = 0; i < count; i++) {
size_t zone = data[7 + i]; size_t zone = data[7 + i];
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment