Do not append ^Z to PDUs

This commit is contained in:
Pierre Pronchery 2015-12-30 14:12:08 +01:00
parent 74fded2c10
commit 412e88492e

View File

@ -840,14 +840,14 @@ static char * _hayes_message_to_pdu(HayesChannel * channel, char const * number,
addr = _hayes_convert_number_to_address(number); addr = _hayes_convert_number_to_address(number);
len = 2 + sizeof(prefix) + 2 + strlen((addr != NULL) ? addr : "") len = 2 + sizeof(prefix) + 2 + strlen((addr != NULL) ? addr : "")
+ sizeof(pid) + sizeof(dcs) + sizeof(vp) + 2 + sizeof(pid) + sizeof(dcs) + sizeof(vp) + 2
+ strlen((data != NULL) ? data : "") + 1; + strlen((data != NULL) ? data : "");
ret = malloc(len); ret = malloc(len);
if(addr != NULL && ret != NULL) if(addr != NULL && ret != NULL)
{ {
if(hayeschannel_has_quirks(channel, if(hayeschannel_has_quirks(channel,
HAYES_QUIRK_WANT_SMSC_IN_PDU)) HAYES_QUIRK_WANT_SMSC_IN_PDU))
smsc = "00"; smsc = "00";
snprintf(ret, len, "%s%s%02lX%s%s%s%s%02lX%s\x1a", snprintf(ret, len, "%s%s%02lX%s%s%s%s%02lX%s",
smsc, prefix, (unsigned long)strlen(number), smsc, prefix, (unsigned long)strlen(number),
addr, pid, dcs, vp, (unsigned long)length, addr, pid, dcs, vp, (unsigned long)length,
data); data);
@ -1831,7 +1831,7 @@ static char * _request_attention_message_send(Hayes * hayes,
pdulen = strlen(pdu); pdulen = strlen(pdu);
if(hayeschannel_has_quirks(channel, HAYES_QUIRK_WANT_SMSC_IN_PDU)) if(hayeschannel_has_quirks(channel, HAYES_QUIRK_WANT_SMSC_IN_PDU))
pdulen -= 2; pdulen -= 2;
snprintf(ret, len, "%s%lu", cmd, ((unsigned long)pdulen - 1) / 2); snprintf(ret, len, "%s%lu", cmd, (unsigned long)pdulen / 2);
*data = pdu; *data = pdu;
return ret; return ret;
} }