Commit c12eef54 authored by captainwong's avatar captainwong

fix

parent 189eb122
...@@ -603,7 +603,7 @@ int ademcoMakeXData(AdemcoXDataSegment* xdata, AdemcoXDataLengthFormat xlf, Adem ...@@ -603,7 +603,7 @@ int ademcoMakeXData(AdemcoXDataSegment* xdata, AdemcoXDataLengthFormat xlf, Adem
xdata->lenghFormat = xlf; xdata->lenghFormat = xlf;
if (xlf == TWO_HEX && translen + 4 < ADEMCO_PACKET_XDATA_MAX_LEN) { if (xlf == TWO_HEX && translen + 4 < ADEMCO_PACKET_XDATA_MAX_LEN) {
uint8_t* p = xdata->raw; char_t* p = xdata->raw;
*p++ = '['; *p++ = '[';
*p++ = (translen & 0xFFFF) >> 8; *p++ = (translen & 0xFFFF) >> 8;
*p++ = (translen & 0xFFFF) & 0xFF; *p++ = (translen & 0xFFFF) & 0xFF;
...@@ -613,7 +613,7 @@ int ademcoMakeXData(AdemcoXDataSegment* xdata, AdemcoXDataLengthFormat xlf, Adem ...@@ -613,7 +613,7 @@ int ademcoMakeXData(AdemcoXDataSegment* xdata, AdemcoXDataLengthFormat xlf, Adem
xdata->raw_len = p - xdata->raw; xdata->raw_len = p - xdata->raw;
return ADEMCO_OK; return ADEMCO_OK;
} else if (xlf == FOUR_DECIMAL && translen + 6 < ADEMCO_PACKET_XDATA_MAX_LEN) { } else if (xlf == FOUR_DECIMAL && translen + 6 < ADEMCO_PACKET_XDATA_MAX_LEN) {
uint8_t* p = xdata->raw; char_t* p = xdata->raw;
*p++ = '['; *p++ = '[';
char temp[5]; char temp[5];
snprintf(temp, sizeof(temp), "%04zX", translen & 0xFFFF); snprintf(temp, sizeof(temp), "%04zX", translen & 0xFFFF);
...@@ -1046,7 +1046,7 @@ size_t ademcoDecStrToHiLoArray(uint8_t* arr, size_t len, const char* str) ...@@ -1046,7 +1046,7 @@ size_t ademcoDecStrToHiLoArray(uint8_t* arr, size_t len, const char* str)
break; break;
} }
} }
while (arr + len > p) { while ((char*)arr + len > p) {
*p++ = 0xFF; *p++ = 0xFF;
} }
return len; return len;
......
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