Hi developers!
I use kannel as SMSGW on the SPARC (with SunOS) platform and I was oblige to implement
the following futures in some functions :))
in gwlib/octstr.c
void octstr_swap_bytes(Octstr *ostr)
{
unsigned char ch = 0;
long pos;
seems_valid(ostr);
for(pos = 0;pos < ostr->len - 1;pos += 2)
{
ch = ostr->data[pos];
ostr->data[pos] = ostr->data[pos + 1];
ostr->data[pos + 1] = ch;
}
}
in gwlib/octstr.h
void octstr_swap_bytes(Octstr *ostr);
in gw/smsc/smsc_smpp.c (in msg_to_pdu function)
....
/*
* only re-encoding if using default smsc charset that is defined via
* alt-charset in smsc group and if MT is not binary
*/
...
if (msg->sms.coding == DC_UCS2) {
/*
* remove the first two bytes FE FF from octetstring (add from yuryx for
SMSCv3.2)
*
*/
Octstr *octstr_tmp = NULL;
short UTF_16_PREFIX = 0xfeff;
#if (defined (__sparc__) || defined (__sparc) || defined (__sun))
octstr_swap_bytes(pdu->u.submit_sm.short_message);
#endif
octstr_tmp = octstr_create("");
octstr_append_data(octstr_tmp, (char*) &UTF_16_PREFIX, 2);
if(octstr_ncompare(pdu->u.submit_sm.short_message, octstr_tmp, 2) == 0) {
octstr_delete(pdu->u.submit_sm.short_message, 0, 2);
}
octstr_destroy(octstr_tmp);
}
/* prepend udh if present */
...
What are mean about the add that code in next CVS commit?
--
Best regards,
Yury Mikhienko.
IT ERP group head, ZAO "Mobicom-Kavkaz"