}
#if 1
+void __fillAddressInfo(MSG_ADDRESS_INFO_S *addressInfo, const char *addressVal)
+{
+ strncpy(addressInfo->addressVal, addressVal, MAX_ADDRESS_VAL_LEN);
+ addressInfo->recipientType = MSG_RECIPIENTS_TYPE_TO;
+ if (MmsAddrUtilCheckEmailAddress(addressInfo->addressVal)) {
+ addressInfo->addressType = MSG_ADDRESS_TYPE_EMAIL;
+ } else {
+ addressInfo->addressType = MSG_ADDRESS_TYPE_PLMN;
+ }
+}
+
void MmsPluginInternal::processRetrieveConf(MSG_MESSAGE_INFO_S *pMsgInfo, mmsTranQEntity *pRequest, char *pRetrievedFilePath)
{
MSG_BEGIN();
pMsgInfo->nAddressCnt = addr_cnt;
pMsgInfo->addressList = tmp_addr_info;
- if (mmsHeader.pFrom) {
- MSG_DEBUG("FROM : [%s]", mmsHeader.pFrom->szAddr);
- /* From */
- strncpy(pMsgInfo->addressList[0].addressVal, mmsHeader.pFrom->szAddr, MAX_ADDRESS_VAL_LEN);
- if (MmsAddrUtilCheckEmailAddress(pMsgInfo->addressList[0].addressVal)) {
- pMsgInfo->addressList[0].addressType = MSG_ADDRESS_TYPE_EMAIL;
- } else {
- pMsgInfo->addressList[0].addressType = MSG_ADDRESS_TYPE_PLMN;
+ if (recipients_addr_info != NULL && pMsgInfo->addressList != NULL) {
+ if (mmsHeader.pFrom) {
+ MSG_DEBUG("FROM : [%s]", mmsHeader.pFrom->szAddr);
+ /* From */
+ __fillAddressInfo(&(pMsgInfo->addressList[0]), mmsHeader.pFrom->szAddr);
+ __fillAddressInfo(&recipients_addr_info[0], mmsHeader.pFrom->szAddr);
}
- strncpy(recipients_addr_info[0].addressVal, mmsHeader.pFrom->szAddr, MAX_ADDRESS_VAL_LEN);
- if (MmsAddrUtilCheckEmailAddress(pMsgInfo->addressList[0].addressVal)) {
- recipients_addr_info[0].addressType = MSG_ADDRESS_TYPE_EMAIL;
- } else {
- recipients_addr_info[0].addressType = MSG_ADDRESS_TYPE_PLMN;
- }
- }
-
- int addr_idx = 0;
- int recipients_idx = 0;
- if (mmsHeader.pTo) {
- MsgHeaderAddress *iter = mmsHeader.pTo;
- while (iter) {
- addr_idx++;
- MSG_DEBUG("TO : [%s]", mmsHeader.pTo->szAddr);
- /* To */
- if (normal_msisdn == NULL || normal_msisdn[0] == '\0' || !g_str_has_suffix(iter->szAddr, normal_msisdn)) {
- strncpy(pMsgInfo->addressList[addr_idx].addressVal, iter->szAddr, MAX_ADDRESS_VAL_LEN);
- pMsgInfo->addressList[addr_idx].recipientType = MSG_RECIPIENTS_TYPE_TO;
- if (MmsAddrUtilCheckEmailAddress(pMsgInfo->addressList[addr_idx].addressVal)) {
- pMsgInfo->addressList[addr_idx].addressType = MSG_ADDRESS_TYPE_EMAIL;
- } else {
- pMsgInfo->addressList[addr_idx].addressType = MSG_ADDRESS_TYPE_PLMN;
+ int addr_idx = 0;
+ int recipients_idx = 0;
+ if (mmsHeader.pTo) {
+ MsgHeaderAddress *iter = mmsHeader.pTo;
+ while (iter) {
+ MSG_DEBUG("TO : [%s]", iter->szAddr);
+ /* To */
+ if (normal_msisdn == NULL || normal_msisdn[0] == '\0' || !g_str_has_suffix(iter->szAddr, normal_msisdn)) {
+ __fillAddressInfo(&(pMsgInfo->addressList[++addr_idx]), iter->szAddr);
}
- } else {
- addr_idx--;
- }
+ __fillAddressInfo(&recipients_addr_info[++recipients_idx], iter->szAddr);
- recipients_idx++;
- strncpy(recipients_addr_info[recipients_idx].addressVal, iter->szAddr, MAX_ADDRESS_VAL_LEN);
- recipients_addr_info[recipients_idx].recipientType = MSG_RECIPIENTS_TYPE_TO;
- if (MmsAddrUtilCheckEmailAddress(recipients_addr_info[recipients_idx].addressVal)) {
- recipients_addr_info[recipients_idx].addressType = MSG_ADDRESS_TYPE_EMAIL;
- } else {
- recipients_addr_info[recipients_idx].addressType = MSG_ADDRESS_TYPE_PLMN;
+ iter = iter->pNext;
}
-
- iter = iter->pNext;
}
- }
- if (mmsHeader.pCc) {
- MsgHeaderAddress *iter = mmsHeader.pCc;
- while (iter) {
- addr_idx++;
- MSG_DEBUG("CC : [%s]", mmsHeader.pCc->szAddr);
- /* Cc */
- if (normal_msisdn == NULL || normal_msisdn[0] == '\0' || !g_str_has_suffix(iter->szAddr, normal_msisdn)) {
- strncpy(pMsgInfo->addressList[addr_idx].addressVal, iter->szAddr, MAX_ADDRESS_VAL_LEN);
- pMsgInfo->addressList[addr_idx].recipientType = MSG_RECIPIENTS_TYPE_CC;
- if (MmsAddrUtilCheckEmailAddress(pMsgInfo->addressList[addr_idx].addressVal)) {
- pMsgInfo->addressList[addr_idx].addressType = MSG_ADDRESS_TYPE_EMAIL;
- } else {
- pMsgInfo->addressList[addr_idx].addressType = MSG_ADDRESS_TYPE_PLMN;
+ if (mmsHeader.pCc) {
+ MsgHeaderAddress *iter = mmsHeader.pCc;
+ while (iter) {
+ MSG_DEBUG("CC : [%s]", iter->szAddr);
+ /* Cc */
+ if (normal_msisdn == NULL || normal_msisdn[0] == '\0' || !g_str_has_suffix(iter->szAddr, normal_msisdn)) {
+ __fillAddressInfo(&(pMsgInfo->addressList[++addr_idx]), iter->szAddr);
}
- } else {
- addr_idx--;
- }
+ __fillAddressInfo(&recipients_addr_info[++recipients_idx], iter->szAddr);
- recipients_idx++;
- strncpy(recipients_addr_info[recipients_idx].addressVal, iter->szAddr, MAX_ADDRESS_VAL_LEN);
- recipients_addr_info[recipients_idx].recipientType = MSG_RECIPIENTS_TYPE_CC;
- if (MmsAddrUtilCheckEmailAddress(recipients_addr_info[recipients_idx].addressVal)) {
- recipients_addr_info[recipients_idx].addressType = MSG_ADDRESS_TYPE_EMAIL;
- } else {
- recipients_addr_info[recipients_idx].addressType = MSG_ADDRESS_TYPE_PLMN;
+ iter = iter->pNext;
}
-
- iter = iter->pNext;
}
}
}
memcpy(pSqlSort, sql, strlen(sql));
+ pSqlSort[strlen(sql)] = '\0';
return MSG_SUCCESS;
}
msg_error_t msg_launch_app(const char *app_id, bundle *bundle_data)
{
- msg_launch_app_data *data = (msg_launch_app_data *)calloc(1, sizeof(msg_launch_app_data));
- if (data == NULL) {
- MSG_ERR("Memory alloc failed!");
- return MSG_ERR_MEMORY_ERROR;
- }
-
- data->app_id = g_strdup(app_id);
- data->bundle_data = bundle_dup(bundle_data);
pthread_t thd;
pthread_attr_t attr;
return MSG_ERR_UNKNOWN;
}
+ msg_launch_app_data *data = (msg_launch_app_data *)calloc(1, sizeof(msg_launch_app_data));
+ if (data == NULL) {
+ MSG_ERR("Memory alloc failed!");
+ return MSG_ERR_MEMORY_ERROR;
+ }
+
+ data->app_id = g_strdup(app_id);
+ data->bundle_data = bundle_dup(bundle_data);
+
if (pthread_create(&thd, &attr, &_msg_launch_app, data) < 0) {
MSG_ERR("pthread_create() error");
}