--- smsdaemon/SmsPdu.cpp 2008/06/12 11:05:18 61 +++ smsdaemon/SmsPdu.cpp 2008/06/12 12:43:29 63 @@ -10,7 +10,7 @@ #include #include - +#include "common.h" #include "util.h" @@ -148,18 +148,27 @@ message_part = message.substr(0, PDU_LEN); message.erase(0, PDU_LEN); - pdu.push_back( message_part.length()+ 6 ); //UserDataLength - pdu.push_back( 0x05 ); // UDH Len + pdu.push_back( message_part.length()+ 7 ); //UserDataLength + pdu.push_back( 0x06 ); // UDH Len pdu.push_back( 0x00 ); // UDH Element Identifier pdu.push_back( 0x03 ); // UDH element length pdu.push_back( csms_ref ); // csms_ref reference pdu.push_back( part_count ); pdu.push_back( partnr+1 ); + pdu.push_back( 0x00); } else { - message_part = message.substr(0,160); //truncate to 160 + if (message.length() > 160) + { + message_part = message.substr(0,160); //truncate to 160 + Common::instance()->logMessage("Truncated message"); + } + else + { + message_part = message; + } pdu.push_back( message_part.length() ); //UserDataLength }