#include <glib.h>
#include <gio/gio.h>
#include <stdlib.h>
+#ifdef ARCH64
+#include <stdint.h>
+#endif
#define BT_MAIL_ID_MAX_LENGTH 50
#define BT_MAP_TIMESTAMP_MAX_LEN 16
extern guint64 current_push_map_id;
+/* LCOV_EXCL_START */
static void __bt_map_parse_moved_mails(char *inbuf, int *from_box_id,
int *to_box_id, GList **mail_list)
{
gchar **outer_tok;
char delimiter[2] = { 0x01, 0x00 };
outer_tok = g_strsplit_set(inbuf, delimiter, -1);
- if (outer_tok == NULL ) {
+ if (outer_tok == NULL) {
ERR("outer_tok == NULL");
return;
}
inner_tok = g_strsplit_set(outer_tok[2], ",", -1);
if (g_strv_length(inner_tok) == 1) { // only one mail_id exists without ","
int mail_id = atoi(outer_tok[2]);
+#ifdef ARCH64
+ *mail_list = g_list_append(*mail_list, (void *)(uintptr_t) mail_id);
+#else
*mail_list = g_list_append(*mail_list, (void *) mail_id);
+#endif
} else {
int i;
for (i = 0; i < g_strv_length(inner_tok); ++i) {
continue;
else {
int mail_id = atoi(inner_tok[i]);
+#ifdef ARCH64
+ *mail_list = g_list_prepend(*mail_list, (void *)(uintptr_t) mail_id);
+#else
*mail_list = g_list_prepend(*mail_list, (void *) mail_id);
+#endif
}
}
}
}
handle = _bt_add_id(mailid, BT_MAP_ID_EMAIL);
- if (mailbox->mailbox_type == EMAIL_MAILBOX_TYPE_INBOX) {
- _bt_mns_client_event_notify("NewMessage", handle,
- "TELECOM/MSG/INBOX", "",
- "EMAIL");
- }
- if (mailbox)
+ if (mailbox) {
+ if (mailbox->mailbox_type == EMAIL_MAILBOX_TYPE_INBOX) {
+ _bt_mns_client_event_notify("NewMessage", handle,
+ "TELECOM/MSG/INBOX", "",
+ "EMAIL");
+ }
email_free_mailbox(&mailbox, 1);
+ }
} else if (subtype == NOTI_MAIL_MOVE_FINISH) {
/* Received values from Signal*/
if (mailbox_to->mailbox_type == EMAIL_MAILBOX_TYPE_TRASH) {
while (mail_ids) {
+#ifdef ARCH64
+ int mailid = (int)(uintptr_t)(void*) mail_ids->data;
+#else
int mailid = (int) mail_ids->data;
+#endif
char *old_folder;
DBG("Mail ID[%d]", mailid);
if (mailid == 0)
old_folder = __bt_email_get_path(mailbox_from->mailbox_type);
handle = _bt_add_id(mailid, BT_MAP_ID_EMAIL);
- DBG("[MessageDeleted] Handle:%d", handle);
+ DBG("[MessageDeleted] Handle:%llu", handle);
_bt_mns_client_event_notify("MessageShift", handle,
"TELECOM/MSG/DELETED", old_folder, "EMAIL");
g_free(old_folder);
} else if (mailbox_to->mailbox_type == EMAIL_MAILBOX_TYPE_SENTBOX
&& mailbox_from->mailbox_type == EMAIL_MAILBOX_TYPE_OUTBOX) {
while (mail_ids) {
+#ifdef ARCH64
+ int mailid = (int)(uintptr_t)(void*) mail_ids->data;
+#else
int mailid = (int) mail_ids->data;
+#endif
DBG("Mail ID[%d]", mailid);
if (mailid == 0)
break;
handle = _bt_add_id(mailid, BT_MAP_ID_EMAIL);
- DBG("[SendingSuccess] Handle:%d", handle);
+ DBG("[SendingSuccess] Handle:%llu", handle);
_bt_mns_client_event_notify("MessageShift", handle,
"TELECOM/MSG/SENT", "TELECOM/MSG/OUTBOX", "EMAIL");
mail_ids = g_list_next(mail_ids);
}
}
- if (mailbox_to)
- email_free_mailbox(&mailbox_to, 1);
- if (mailbox_from)
- email_free_mailbox(&mailbox_from, 1);
+
+ email_free_mailbox(&mailbox_to, 1);
+ email_free_mailbox(&mailbox_from, 1);
}
}
+/* LCOV_EXCL_STOP */
gboolean _bt_map_start_email_service(void)
{
return FALSE;
}
+ /* LCOV_EXCL_START */
dbus_conn = g_bus_get_sync(G_BUS_TYPE_SYSTEM, NULL, &error);
if (error) {
ERR("g_bus_get_sync() failed (%s)", error->message);
return FALSE;
}
+ /* LCOV_EXCL_STOP */
return TRUE;
}
err = email_service_end();
if (err != EMAIL_ERROR_NONE) {
+ /* LCOV_EXCL_START */
ERR("email_service_end fail error = %d\n", err);
return FALSE;
+ /* LCOV_EXCL_STOP */
}
return TRUE;
if (err != EMAIL_ERROR_NONE)
return FALSE;
+ /* LCOV_EXCL_START */
err = email_get_mailbox_list(account_id, EMAIL_MAILBOX_ALL,
&mailbox_list, &mailbox_count);
if (err != EMAIL_ERROR_NONE)
if (mailbox_list != NULL)
email_free_mailbox(&mailbox_list, mailbox_count);
+ /* LCOV_EXCL_STOP */
return TRUE;
}
+/* LCOV_EXCL_START */
static message_info_t *__bt_email_info_get(email_mail_list_item_t *email_struct,
guint8 subject_len)
{
email_info = g_new0(message_info_t, 1);
uid = _bt_add_id(email_struct->mail_id, BT_MAP_ID_EMAIL);
+#ifdef ARCH64
+ snprintf(email_handle, sizeof(email_handle), "%lx", uid);
+#else
snprintf(email_handle, sizeof(email_handle), "%llx", uid);
- DBG("******* MAP ID:%d, MailID:%d **********", uid, email_struct->mail_id);
+#endif
+ DBG("******* MAP ID:%llu, MailID:%d **********", uid, email_struct->mail_id);
email_info->handle = g_strdup(email_handle);
dptime = email_struct->date_time;
email_info->recipient_name = g_strdup(mail_data->alias_recipient);
}
- email_info->recipient_addressing = g_strdup(mail_data->email_address_recipient);
+ if (mail_data->email_address_recipient) {
+ g_free(email_info->recipient_addressing);
+ email_info->recipient_addressing = g_strdup(mail_data->email_address_recipient);
+ }
return email_info;
}
map_folder = "OUTBOX";
} else if (!g_ascii_strncasecmp(alias, "[gmail]", strlen("[gmail]"))) {
DBG("GMAIL Folders");
- if (!g_ascii_strncasecmp(alias, "[Gmail]/Drafts", strlen("[Gmail]/Drafts"))) {
+ if (!g_ascii_strncasecmp(alias, "[Gmail]/Drafts", strlen("[Gmail]/Drafts")))
map_folder = "DRAFT";
- } else if (!g_ascii_strncasecmp(alias, "[Gmail]/Sent", strlen("[Gmail]/Sent"))) {
+ else if (!g_ascii_strncasecmp(alias, "[Gmail]/Sent", strlen("[Gmail]/Sent")))
map_folder = "SENT";
- } else if (!g_ascii_strncasecmp(alias, "[Gmail]/Trash", strlen("[Gmail]/Trash"))) {
+ else if (!g_ascii_strncasecmp(alias, "[Gmail]/Trash", strlen("[Gmail]/Trash")))
map_folder = "DELETED";
- }
}
DBG("Equivalent MAP Folder for Alias: %s", map_folder);
DBG("EXIT");
return TRUE;
}
+/* LCOV_EXCL_STOP */
gboolean _bt_map_update_mailbox(char *folder)
{
ret = email_get_mail_data(mail_id, &mail_data);
if (ret != EMAIL_ERROR_NONE) {
- ERR("email_get_mail_data failed\n");
+ ERR("email_get_mail_data failed\n"); /* LCOV_EXCL_LINE */
return FALSE;
}
+ /* LCOV_EXCL_START */
ret = email_set_flags_field(mail_data->account_id, &mail_id, 1,
EMAIL_FLAGS_SEEN_FIELD, read_status, 0);
if (ret != EMAIL_ERROR_NONE) {
}
email_free_mail_data(&mail_data, 1);
+ /* LCOV_EXCL_STOP */
return TRUE;
}
if (ret != EMAIL_ERROR_NONE)
return FALSE;
+ /* LCOV_EXCL_START */
ret = email_delete_mail(mail_data->mailbox_id, &mail_id, 1, 1);
if (ret != EMAIL_ERROR_NONE) {
email_free_mail_data(&mail_data, 1);
}
email_free_mail_data(&mail_data, 1);
+ /* LCOV_EXCL_STOP */
return TRUE;
}
+/* LCOV_EXCL_START */
static gchar *__bt_get_email_folder_name(int mailboxtype)
{
switch (mailboxtype) {
g_free(folder);
/* List of recepient & sender */
- DBG("Sender: %d", mail_data->email_address_sender);
- DBG("Sender Alias: %d", mail_data->alias_sender);
+ DBG("Sender: %s", mail_data->email_address_sender);
+ DBG("Sender Alias: %s", mail_data->alias_sender);
g_string_append_printf(msg, EMAIL_VCARD, mail_data->email_address_sender,
mail_data->email_address_sender);
if (body_file != NULL) {
fseek(body_file, 0, SEEK_END);
email_size = ftell(body_file);
+ if (email_size <= 0) {
+ ERR("email_size is not a positive number");
+ g_string_free(msg, TRUE);
+ fclose(body_file);
+ return NULL;
+ }
rewind(body_file);
- buf = (char *)g_malloc0(sizeof(char) * email_size);
+ buf = (char *)g_malloc0(sizeof(char) * (email_size + 1));
read_size = fread(buf, 1, email_size, body_file);
fclose(body_file);
DBG("MESSAGE: [%s]", buf);
if (read_size != email_size) {
ERR("Unequal Read size");
- email_free_mail_data(&mail_data, 1);
g_string_free(msg, TRUE);
g_free(buf);
return NULL;
DBG("BODY of the MESSAGE NOT FOUND");
buf = (char *)g_strdup("");
}
-
+#ifdef ARCH64
+ g_string_append_printf(msg, LENGTH, (int)(unsigned int)strlen(buf));
+#else
g_string_append_printf(msg, LENGTH, strlen(buf));
-
+#endif
g_string_append_printf(msg, MSG_BODY, buf);
FN_END;
return g_string_free(msg, FALSE);
}
+/* LCOV_EXCL_STOP */
gboolean _bt_map_get_email_message(int mail_id, gboolean attach,
gboolean transcode, gboolean first_request, gchar **bmseg)
if (ret != EMAIL_ERROR_NONE)
return FALSE;
+ /* LCOV_EXCL_START */
ret = email_get_mail_data(mail_id, &mail_data);
if (ret != EMAIL_ERROR_NONE)
return FALSE;
email_free_mail_data(&mail_data, 1);
DBG("EXIT==>");
+ /* LCOV_EXCL_STOP */
return TRUE;
}
+/* LCOV_EXCL_START */
static int __bt_map_save_email_to_outbox(char *subject, char *body,
char *recepients)
{
return TRUE;
}
+/* LCOV_EXCL_STOP */
+