summaryrefslogtreecommitdiffabout
path: root/kmicromail/libetpan/mbox
Side-by-side diff
Diffstat (limited to 'kmicromail/libetpan/mbox') (more/less context) (show whitespace changes)
-rw-r--r--kmicromail/libetpan/mbox/mailmbox.c19
-rw-r--r--kmicromail/libetpan/mbox/mailmbox.h4
-rw-r--r--kmicromail/libetpan/mbox/mailmbox_types.c1
-rw-r--r--kmicromail/libetpan/mbox/mailmbox_types.h1
4 files changed, 23 insertions, 2 deletions
diff --git a/kmicromail/libetpan/mbox/mailmbox.c b/kmicromail/libetpan/mbox/mailmbox.c
index 280c313..b3fce02 100644
--- a/kmicromail/libetpan/mbox/mailmbox.c
+++ b/kmicromail/libetpan/mbox/mailmbox.c
@@ -199,2 +199,5 @@ int mailmbox_open(struct mailmbox_folder * folder)
+ fd = -1;
+ read_only = TRUE;
+
if (!folder->mb_read_only) {
@@ -619,2 +622,4 @@ mailmbox_append_message_list_no_lock(struct mailmbox_folder * folder,
extra_size += 2; /* CR LF */
+
+ info->ai_uid = folder->mb_max_uid + i + 1;
}
@@ -746,4 +751,4 @@ mailmbox_append_message_list(struct mailmbox_folder * folder,
int
-mailmbox_append_message(struct mailmbox_folder * folder,
- const char * data, size_t len)
+mailmbox_append_message_uid(struct mailmbox_folder * folder,
+ const char * data, size_t len, unsigned int * puid)
{
@@ -774,2 +779,5 @@ mailmbox_append_message(struct mailmbox_folder * folder,
+ if (puid != NULL)
+ * puid = append_info->ai_uid;
+
mailmbox_append_info_free(append_info);
@@ -787,2 +795,9 @@ mailmbox_append_message(struct mailmbox_folder * folder,
+int
+mailmbox_append_message(struct mailmbox_folder * folder,
+ const char * data, size_t len)
+{
+ return mailmbox_append_message_uid(folder, data, len, NULL);
+}
+
/* ********************************************************************** */
diff --git a/kmicromail/libetpan/mbox/mailmbox.h b/kmicromail/libetpan/mbox/mailmbox.h
index 8be086c..0427f1f 100644
--- a/kmicromail/libetpan/mbox/mailmbox.h
+++ b/kmicromail/libetpan/mbox/mailmbox.h
@@ -53,2 +53,6 @@ mailmbox_append_message(struct mailmbox_folder * folder,
+int
+mailmbox_append_message_uid(struct mailmbox_folder * folder,
+ const char * data, size_t len, unsigned int * puid);
+
int mailmbox_fetch_msg(struct mailmbox_folder * folder,
diff --git a/kmicromail/libetpan/mbox/mailmbox_types.c b/kmicromail/libetpan/mbox/mailmbox_types.c
index 1986182..4e3e521 100644
--- a/kmicromail/libetpan/mbox/mailmbox_types.c
+++ b/kmicromail/libetpan/mbox/mailmbox_types.c
@@ -180,2 +180,3 @@ mailmbox_append_info_new(const char * ai_message, size_t ai_size)
info->ai_size = ai_size;
+ info->ai_uid = 0;
diff --git a/kmicromail/libetpan/mbox/mailmbox_types.h b/kmicromail/libetpan/mbox/mailmbox_types.h
index dd6758c..bd6ee30 100644
--- a/kmicromail/libetpan/mbox/mailmbox_types.h
+++ b/kmicromail/libetpan/mbox/mailmbox_types.h
@@ -130,2 +130,3 @@ struct mailmbox_append_info {
size_t ai_size;
+ unsigned int ai_uid;
};