--- smsdaemon/SmsPdu.cpp 2008/12/07 10:15:44 136 +++ smsdaemon/SmsPdu.cpp 2008/12/07 15:51:02 142 @@ -276,7 +276,6 @@ SMS ParseSmsPdu(std::string pdu_str) { - SMS result; vector pdu = HexDecodeString(pdu_str); @@ -294,13 +293,13 @@ ++it; //ignore Type-Of-Address - result.sender = DecodeRawPhonenr( it, it+(sender_len/2) ); + string sender = DecodeRawPhonenr( it, it+(sender_len/2) ); it += (sender_len/2); ++it; //protocol identifier ++it; //Data encoding - result.timestamp = DecodeTimestamp(it, it+7); + string timestamp = DecodeTimestamp(it, it+7); it += 7; @@ -320,10 +319,13 @@ vector user_data; user_data.insert(user_data.end(), it, it+data_len); - result.message = Decode8to7bit(user_data, shift_start).substr(0,data_len); + string message = Decode8to7bit(user_data, shift_start).substr(0,data_len); - result.message = Util::str_trim(result.message); + message = Util::str_trim(message); + SMS result; + result.SetMessage(message); + result.SetSender(sender); return result; }