diff options
author | Not Zed <NotZed@HelixCode.com> | 2000-08-11 00:35:28 +0800 |
---|---|---|
committer | Michael Zucci <zucchi@src.gnome.org> | 2000-08-11 00:35:28 +0800 |
commit | 690509bf826bc02af09cbec064f1f34c48dd9b0c (patch) | |
tree | 41580cd68f0f3e0dc297f11e34e237c37b2dc09e /camel/providers/imap | |
parent | 544eb3c3493bfa25d6a3a82d1c18805174c37eb9 (diff) | |
download | gsoc2013-evolution-690509bf826bc02af09cbec064f1f34c48dd9b0c.tar gsoc2013-evolution-690509bf826bc02af09cbec064f1f34c48dd9b0c.tar.gz gsoc2013-evolution-690509bf826bc02af09cbec064f1f34c48dd9b0c.tar.bz2 gsoc2013-evolution-690509bf826bc02af09cbec064f1f34c48dd9b0c.tar.lz gsoc2013-evolution-690509bf826bc02af09cbec064f1f34c48dd9b0c.tar.xz gsoc2013-evolution-690509bf826bc02af09cbec064f1f34c48dd9b0c.tar.zst gsoc2013-evolution-690509bf826bc02af09cbec064f1f34c48dd9b0c.zip |
A better way to compress leading whitespace. The code is probably invalid
2000-08-11 Not Zed <NotZed@HelixCode.com>
* camel-mime-parser.c (folder_scan_header): A better way to
compress leading whitespace. The code is probably invalid anyway,
I dont think it will work across buffer boundaries.
* providers/mbox/camel-mbox-folder.c (mbox_append_message): And
write out proper format From lines here too.
* providers/mbox/camel-mbox-summary.c
(camel_mbox_summary_build_from): New function to build a more
compatible mbox "From " line.
(camel_mbox_summary_sync): Write From lines in the proper format.
2000-08-10 Not Zed <NotZed@HelixCode.com>
* providers/mh/camel-mh-store.c (get_folder): Remove warnin g.
* providers/mbox/camel-mbox-store.c (xrename): Kill some warnings
with constification.
* providers/imap/camel-imap-folder.c (imap_append_message): Fixed
for append api change. Eek this routine seriously wastes memory.
* providers/mh/camel-mh-folder.c (mh_search_free): Impelemnt.
(mh_append_message): Fix for api change, and include user flags
and tags in new message.
* providers/vee/camel-vee-folder.c (vee_search_by_expression): Fix
for search api change.
* camel-folder.c (camel_folder_search_free): New function for
freeing search results.
(search_free): Changed my mind, implement a default that actually
does something. Free as to the old interface.
(camel_folder_append_message): Changed to accept a
camelmessageinfo rather than flags, which just doesn't have enough
info in it.
(copy_message_to): Change for append_message api change.
(move_message_to): Likewise.
* providers/mbox/camel-mbox-folder.c (mbox_search_free):
Implement.
(mbox_append_message): Fix for api change, and also copy user
flags/tags across to new summary.
* camel-folder-search.c (search_user_tag): A search expression
that returns the current use flag by name.
(camel_folder_search_free_result): New function to free the result
of a search.
* camel-folder-summary.c: Bump summary version.
(message_info_new):
(message_info_load):
(message_info_save):
(camel_message_info_dup_to):
(camel_message_info_free): Added support for arbitrary tag/value
pairs (CamelTag's).
(camel_tag_get):
(camel_tag_set):
(camel_tag_list_size):
(camel_tag_list_free): Operations for working with CamelTags.
svn path=/trunk/; revision=4683
Diffstat (limited to 'camel/providers/imap')
-rw-r--r-- | camel/providers/imap/camel-imap-folder.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/camel/providers/imap/camel-imap-folder.c b/camel/providers/imap/camel-imap-folder.c index 82d133b0ab..9ab729d218 100644 --- a/camel/providers/imap/camel-imap-folder.c +++ b/camel/providers/imap/camel-imap-folder.c @@ -74,7 +74,7 @@ static gint imap_get_message_count (CamelFolder *folder); static gint imap_get_unread_message_count (CamelFolder *folder); static CamelMimeMessage *imap_get_message (CamelFolder *folder, const gchar *uid, CamelException *ex); -static void imap_append_message (CamelFolder *folder, CamelMimeMessage *message, guint32 flags, CamelException *ex); +static void imap_append_message (CamelFolder *folder, CamelMimeMessage *message, const CamelMessageInfo *info, CamelException *ex); static void imap_copy_message_to (CamelFolder *source, const char *uid, CamelFolder *destination, CamelException *ex); static void imap_move_message_to (CamelFolder *source, const char *uid, CamelFolder *destination, CamelException *ex); @@ -553,7 +553,7 @@ imap_get_unread_message_count (CamelFolder *folder) } static void -imap_append_message (CamelFolder *folder, CamelMimeMessage *message, guint32 flags, CamelException *ex) +imap_append_message (CamelFolder *folder, CamelMimeMessage *message, const CamelMessageInfo *info, CamelException *ex) { CamelStore *store = CAMEL_STORE (folder->parent_store); CamelURL *url = CAMEL_SERVICE (store)->url; @@ -586,16 +586,18 @@ imap_append_message (CamelFolder *folder, CamelMimeMessage *message, guint32 fla folder_path = g_strdup (folder->full_name); /* create flag string param */ - if (flags) { - flagstr = g_strconcat (" (", flags & CAMEL_MESSAGE_SEEN ? "\\Seen " : "", - flags & CAMEL_MESSAGE_DRAFT ? "\\Draft " : "", - flags & CAMEL_MESSAGE_DELETED ? "\\Answered " : "", + if (info && info->flags) { + flagstr = g_strconcat (" (", info->flags & CAMEL_MESSAGE_SEEN ? "\\Seen " : "", + info->flags & CAMEL_MESSAGE_DRAFT ? "\\Draft " : "", + info->flags & CAMEL_MESSAGE_DELETED ? "\\Answered " : "", NULL); if (flagstr) *(flagstr + strlen (flagstr) - 1) = ')'; } /* FIXME: len isn't really correct I don't think, we need to crlf/dot filter */ + /* FIXME: Dont copy the message ANOTHER TIME, its already in memory entirely + copied, thats bad enough */ status = camel_imap_command_extended (CAMEL_IMAP_STORE (folder->parent_store), folder, &result, "APPEND %s%s {%d}\r\n%s", folder_path, flagstr ? flagstr : "", |