| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-02-16 Not Zed <NotZed@Ximian.com>
** See bug #51045.
* providers/imap/camel-imap-store.c (fill_fi): similar to mbox
version.
(get_folder_counts): use fill_fi to try and get folder counts if
we're not doing the hard slog.
(get_one_folder_offline): use fill_fi to try to get folder counts
from open folders or summaries.
* providers/local/camel-maildir-store.c (fill_fi): similar to mbox
version.
(scan_dir): use fill_fi to get the unread count now.
* providers/local/camel-mbox-store.c (fill_fi): helper to lookup
unread count either from active folder or from summary file, if
it's available.
(scan_dir, get_folder_info): use helper above to get folder info.
* devel-docs/camel-folder-summary.txt: New document describing the
format/conventions in the CamelFolderSummary file.
* providers/nntp/camel-nntp-summary.c (summary_header_load/save):
* providers/imapp/camel-imapp-summary.c (summary_header_load/save):
* providers/imap/camel-imap-summary.c (summary_header_load/save):
Handle versions, per-class version number (1).
* providers/local/camel-mbox-summary.c (summary_header_load/save):
Handle versions properly, add a per-class version (1). Write out the
folder size as a size_t rather than 32 bit int.
* providers/local/camel-local-summary.c (summary_header_load/save):
read/write the per-class version number (1).
* camel-folder-summary.c (summary_header_load): do version
checking differently, allow the version to be bumped without
aborting the load. Added unread/deleted/junk counts to base
header.
(summary_header_save): Save out the new-format header. Version
bumped to 13.
* camel.c (camel_init): return 0 rather than spit a compiler warning.
* camel-file-utils.c (camel_file_util_encode_*_t): macro-ise the
type encoder/decoders. Also add size_t encoder/decoder.
svn path=/trunk/; revision=24744
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-08-26 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-parser.[c,h]: s/HSCAN_/CAMEL_MIME_PARSER_STATE_/g and
s/_header_state/_camel_mime_parser_state/g
* camel-filter-driver.c: Same.
* camel-folder-summary.c: Here too.
* camel-http-stream.c: And here.
* camel-mime-message.c: ...
* camel-mime-part-utils.c: ...
* camel-mime-part.c: ...
* camel-movemail.c: ...
* camel-multipart-signed.c: ...
* camel-multipart.c: ...
* providers/local/camel-mbox-folder.c: ...
* providers/local/camel-mbox-summary.c: ...
* providers/local/camel-mh-summary.c: ...
* providers/nntp/camel-nntp-summary.c: ...
* providers/pop3/camel-pop3-folder.c: ...
2003-08-25 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-utils.[c,h]: Namespaced.
* camel-data-wrapper.c: updated for namespace changed made to
camel-mime-utils.[c,h]
* camel-digest-folder.c: updated for namespace changed made to
camel-mime-utils.[c,h]
* camel-filter-driver.c: updated for namespace changed made to
camel-mime-utils.[c,h]
* camel-filter-search.c: updated for namespace changed made to
camel-mime-utils.[c,h]
* camel-folder-search.c: updated for namespace changed made to
camel-mime-utils.[c,h]
* camel-folder-summary.[c,h]: updated for namespace changed made
to camel-mime-utils.[c,h]
* camel-http-stream.c: updated for namespace changed made to
camel-mime-utils.[c,h]
* camel-http-stream.h: updated for namespace changed made to
camel-mime-utils.[c,h]
* camel-internet-address.c: updated for namespace changed made to
camel-mime-utils.[c,h]
* camel-medium.[c,h]: updated for namespace changed made to
camel-mime-utils.[c,h]
* camel-mime-message.c: updated for namespace changed made to
camel-mime-utils.[c,h]
* camel-mime-parser.[c,h]: updated for namespace changed made to
camel-mime-utils.[c,h]
* camel-mime-part-utils.c: updated for namespace changed made to
camel-mime-utils.[c,h]
* camel-mime-part.[c,h]: updated for namespace changed made to
camel-mime-utils.[c,h]
* camel-movemail.c: updated for namespace changed made to
camel-mime-utils.[c,h]
* camel-multipart-encrypted.c: updated for namespace changed made
to camel-mime-utils.[c,h]
* camel-multipart-signed.c: updated for namespace changed made to
camel-mime-utils.[c,h]
* camel-multipart.c: updated for namespace changed made to
camel-mime-utils.[c,h]
* camel-search-private.[c,h]: updated for namespace changed made
to camel-mime-utils.[c,h]
* camel-types.h: updated for namespace changed made to
camel-mime-utils.[c,h]
* providers/imap/camel-imap-folder.c: updated for namespace
changed made to camel-mime-utils.[c,h]
* providers/imap/camel-imap-store-summary.c: updated for namespace
changed made to camel-mime-utils.[c,h]
* providers/imap/camel-imap-utils.c: updated for namespace changed
made to camel-mime-utils.[c,h]
* providers/imapp/camel-imapp-utils.[c,h]: updated for namespace
changed made to camel-mime-utils.[c,h]
* providers/local/camel-local-summary.[c,h]: updated for namespace
changed made to camel-mime-utils.[c,h]
* providers/local/camel-maildir-summary.c: updated for namespace
changed made to camel-mime-utils.[c,h]
* providers/local/camel-mbox-summary.c: updated for namespace
changed made to camel-mime-utils.[c,h]
* providers/local/camel-spool-summary.h: updated for namespace
changed made to camel-mime-utils.[c,h]
* providers/nntp/camel-nntp-summary.c: updated for namespace
changed made to camel-mime-utils.[c,h]
* providers/nntp/camel-nntp-utils.c: updated for namespace changed
made to camel-mime-utils.[c,h]
* providers/pop3/camel-pop3-folder.c: updated for namespace
changed made to camel-mime-utils.[c,h]
* providers/sendmail/camel-sendmail-transport.c: updated for
namespace changed made to camel-mime-utils.[c,h]
* providers/smtp/camel-smtp-transport.c: updated for namespace
changed made to camel-mime-utils.[c,h]
svn path=/trunk/; revision=22613
|
|
|
|
|
|
| |
some of the other branches
svn path=/trunk/; revision=22373
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-08-25 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-utils.[c,h]: Namespaced.
* camel-data-wrapper.c: updated for namespace changed made to
camel-mime-utils.[c,h]
* camel-digest-folder.c: updated for namespace changed made to
camel-mime-utils.[c,h]
* camel-filter-driver.c: updated for namespace changed made to
camel-mime-utils.[c,h]
* camel-filter-search.c: updated for namespace changed made to
camel-mime-utils.[c,h]
* camel-folder-search.c: updated for namespace changed made to
camel-mime-utils.[c,h]
* camel-folder-summary.[c,h]: updated for namespace changed made to
camel-mime-utils.[c,h]
* camel-http-stream.c: updated for namespace changed made to
camel-mime-utils.[c,h]
* camel-http-stream.h: updated for namespace changed made to
camel-mime-utils.[c,h]
* camel-internet-address.c: updated for namespace changed made to
camel-mime-utils.[c,h]
* camel-medium.[c,h]: updated for namespace changed made to
camel-mime-utils.[c,h]
* camel-mime-message.c: updated for namespace changed made to
camel-mime-utils.[c,h]
* camel-mime-parser.[c,h]: updated for namespace changed made to
camel-mime-utils.[c,h]
* camel-mime-part-utils.c: updated for namespace changed made to
camel-mime-utils.[c,h]
* camel-mime-part.[c,h]: updated for namespace changed made to
camel-mime-utils.[c,h]
* camel-movemail.c: updated for namespace changed made to
camel-mime-utils.[c,h]
* camel-multipart-encrypted.c: updated for namespace changed made
to camel-mime-utils.[c,h]
* camel-multipart-signed.c: updated for namespace changed made to
camel-mime-utils.[c,h]
* camel-multipart.c: updated for namespace changed made to
camel-mime-utils.[c,h]
* camel-search-private.[c,h]: updated for namespace changed made to
camel-mime-utils.[c,h]
* camel-types.h: updated for namespace changed made to
camel-mime-utils.[c,h]
* providers/imap/camel-imap-folder.c: updated for namespace
changed made to camel-mime-utils.[c,h]
* providers/imap/camel-imap-store-summary.c: updated for namespace
changed made to camel-mime-utils.[c,h]
* providers/imap/camel-imap-utils.c: updated for namespace changed
made to camel-mime-utils.[c,h]
* providers/imapp/camel-imapp-utils.[c,h]: updated for namespace
changed made to camel-mime-utils.[c,h]
* providers/local/camel-local-summary.[c,h]: updated for namespace
changed made to camel-mime-utils.[c,h]
* providers/local/camel-maildir-summary.c: updated for namespace
changed made to camel-mime-utils.[c,h]
* providers/local/camel-mbox-summary.c: updated for namespace
changed made to camel-mime-utils.[c,h]
* providers/local/camel-spool-summary.h: updated for namespace
changed made to camel-mime-utils.[c,h]
* providers/nntp/camel-nntp-summary.c: updated for namespace
changed made to camel-mime-utils.[c,h]
* providers/nntp/camel-nntp-utils.c: updated for namespace changed
made to camel-mime-utils.[c,h]
* providers/pop3/camel-pop3-folder.c: updated for namespace
changed made to camel-mime-utils.[c,h]
* providers/sendmail/camel-sendmail-transport.c: updated for
namespace changed made to camel-mime-utils.[c,h]
* providers/smtp/camel-smtp-transport.c: updated for namespace
changed made to camel-mime-utils.[c,h]
svn path=/trunk/; revision=22355
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-09-10 Jeffrey Stedfast <fejj@ximian.com>
* camel-folder-summary.c (perform_content_info_save): Do proper
error checking and return -1 on fail.
(camel_folder_summary_save): Check the return of
perform_content_info_save and a few other output calls within the
message_info_save loop. If any of them fail, save errno, close the
file, and return -1. If we finish the loop without fail, fflush
the stream and then fsync (fflush only flushes user-space buffers,
you still need to fsync afterward to flush the data to disk). If
either fail, treat it as an exception by saving errno, closing the
stream, and returning -1. I suspect that this also fixes bug
#30150 because the old code would fclose if fflush or fclose
failed in the check after the loop (man fclose(3) states that any
further calls using the stream (even another call to fclose) will
have undefined behaviour no matter what the first fclose call
returned).
* providers/local/camel-local-summary.c
(camel_local_summary_init): Don't malloc a private struct of 0
size.
svn path=/trunk/; revision=18036
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-06-26 Not Zed <NotZed@Ximian.com>
* camel-gpg-context.c: Include <sys/time.h> for struct timeval.
* providers/local/camel-local-provider.c
(camel_provider_module_init): Removed spoold provider. The spool
provider does it now.
2002-06-25 Not Zed <NotZed@Ximian.com>
* providers/local/camel-spool-folder.c (camel_spool_folder_new):
Support a new xstatus option - folders update/honour the
Status/X-Status headers in addition to X-Evolution.
* providers/local/camel-local-summary.c
(camel_local_summary_write_headers): If supplied with an
additional status or xstatus arg, write a Status header and/or
X-Status. Also fix the case of properly terminating the headers
if an xev line isn't supplied.
* providers/local/Makefile.am (libcamellocalinclude_HEADERS,SOURCES):
Removed spoold-store.[ch].
* providers/local/camel-local-provider.c
(camel_provider_module_init): For the spoold type, just use the
spool store instead.
* providers/local/camel-spool-store.h: Added a type field, so the
1 store can implement different types without having to subclass.
* providers/local/camel-spool-store.c
(camel_spool_store_get_toplevel_dir): Removed, inherits from local
store now.
(construct): If we're pointing to a file, treat it as mbox mode,
otherwise treat it as 'elm' mode.
(get_folder): Only test for INBOX in mbox mode.
(get_folder_info_elm):
(get_folder_info_mbox): Two alternatives for getting folder info,
depending on the type of folder we're looking at.
(get_folder_info_mbox): Make the url include the protocol.
(scan_dir): "
* providers/local/camel-spoold-store.c
(camel_spoold_store_get_toplevel_dir): Removed, inherits from
local store now.
* camel-folder.c (get_message_user_tag): Dont use a
g_return_if_fail for info==NULL. This is not an error.
(set_message_user_tag): And same here.
(set_message_user_flag): Sigh, and here.
(get_message_user_flag): And here.
(set_message_flags): and here ...
(get_message_flags): Dum de dum, de done at last.
* providers/local/camel-mbox-folder.c (mbox_get_message): Check
for new messages whenever we retrieve one. In the common
no-update case, this is a single stat.
(mbox_get_message): If we need to rescan, then force a full rescan
to make sure it does the right thing.
(mbox_get_message): Cleanup the exception handling a bit, if we do
get an error, propagate any folder changes anyway as well.
(mbox_set_message_user_flag): Argh more of these stupid g_returns
taht shouldn't be.
(mbox_set_message_user_tag): Here too.
(mbox_set_message_flags): If the read flag is being changed, mark
it as an xevchange (i.e. Status line change).
* providers/local/camel-mbox-summary.c (summary_rebuild): Merged
into summary_update.
(summary_update): Changed to allow it to update existing lists of
messages without clearing out the summary.
(mbox_summary_check): Dont clear the summary, just re-scan.
(message_info_new): Attempt to support the 'Status: RO' elm/pine
thing.
(camel_mbox_summary_encode_status):
(camel_mbox_summary_decode_status): Util functions for
creating/parsing the Status line.
(camel_mbox_summary_sync_mbox): Write out the status line if we're
going to try support it.
(camel_mbox_summary_xstatus): Implement option to control
read/write of (x-)status.
(message_info_new): Do x-status stuff based on run-time option.
(camel_mbox_summary_sync_mbox): "
(mbox_summary_add): If x-status enabled, then always add
status/x-status headers to message.
* camel-folder-summary.c (summary_assign_uid): If the messageinfo
is already in the summary, AND is the same messageinfo, dont do
anything, return a value to indicate this.
(camel_folder_summary_add): Do nothing if this info already in the
summary, so we can perform updates.
2002-06-24 Not Zed <NotZed@Ximian.com>
* providers/local/camel-local-summary.c
(camel_local_summary_check_force): New method to force the next
summary check to be a full check, set if a mismatch occurs.
* camel-folder-summary.c (camel_folder_summary_load): If we have
no summary path set, dont do any i/o, rather than abort.
(camel_folder_summary_save): "
(camel_folder_summary_header_load): "
* providers/local/camel-spool-store.h: Inherit from camel mbox
store, even if we override almost everything.
* providers/local/camel-local-folder.c
(camel_local_folder_construct): If the base path points to a file,
use that as the folder path as well.
* providers/local/camel-spool-folder.h: Inherit from
camel-mbox-folder.
* providers/local/camel-spool-summary.c (spool_summary_sync_full):
Use camel_mbox_summary_sync_mbox to do most of the work.
* providers/local/camel-spool-summary.[ch]: Make spool-summary
inherit from mbox summary rather than foldersummary.
* providers/local/camel-mbox-summary.c (mbox_summary_sync): Make
sync_full/quick virtual methods.
(camel_mbox_summary_sync_mbox): The full sync method put into a
simple function that sync's from fd to fd.
(mbox_summary_sync_full): Use summary_sync_mbox to do the real
work.
(mbox_summary_check): Create removed events if the folder gets
cleared. Also, dont clear the summary before a rebuild, try to
merge.
svn path=/trunk/; revision=17284
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-07 Not Zed <NotZed@Ximian.com>
* camel-remote-store.c (remote_send_string): Check for LOGIN xxxx
as well if debug is on, so we dont print passwords to evolution
logs.
* providers/imap/camel-imap-utils.c (imap_is_atom_char): This was
really broken. 1. isprint() is locale dependent, and 2. it looked
up an 8 bit value in a 7 bit table without truncating it. I've
removed the isprint() stuff and just put it directly into the
special table, which i've expanded to the right size too.
* providers/imap/*: Applied patch from Preston Elder
<prez@magick.tm> to make camel only use literals if it needs to
for simple strings. Changed slightly to use imap_is_atom() and
more consistent formatting.
providers/imap/camel-imap-utils.c (imap_is_atom): Chagned from
imap_needs_quoting().
** Merged in camel-object2 branch. Simpler camelobject
implementation + object args interface.
* camel.c (camel_init): Call camel_object_get_type() to make sure
camel_object_type is initialised.
* camel-object.h (CAMEL_OBJECT_TYPE): Changed to return global
camel_object_type pointer, not call camel_object_get_type.
svn path=/trunk/; revision=16701
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-03-25 Not Zed <NotZed@Ximian.com>
* camel-text-index.c (text_index_add_name): When we add a new
name, up all of the cache limits, because we're probably going to
be adding more.
(text_index_sync): Drop the cache limits back down again, we dont
need them when looking words up.
** MERGE camel_index branch.
* camel-text-index.[ch]: Added files i forgot to add (eep nearly
lost all this work!)
* camel-block-file.c (sync_nolock): Fix an infinite loop in syncing.
svn path=/trunk/; revision=16242
|
|
|
|
| |
svn path=/trunk/; revision=14217
|
|
|
|
|
|
| |
helixcode.com with ximian.com all over the place.
svn path=/trunk/; revision=10440
|
|
|
|
|
|
|
| |
* Namespace cleanup: change a bunch of IS_CAMEL_* macros to
CAMEL_IS_*
svn path=/trunk/; revision=6972
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-11-30 Not Zed <NotZed@HelixCode.com>
* providers/local/camel-mbox-folder.c (mbox_get_message): Remove
assertion that content is there, when it no longer can be.
* camel-folder-summary.h: Removed pos/bodypos/endpos from
camelmeessagecontentinfo.
(CamelMessageFlags): Added an attachments flag.
* providers/local/camel-local-summary.h: Added load virtual
function.
* tests/lib/folders.c (test_message_info): Accessors.
(test_folder_message): "
* camel-folder-thread.c (get_root_subject): Fix accessors.
(dump_tree_rec): "
* camel-folder-search.c (camel_folder_search_execute_expression):
Accessors for messageinfo.
(search_match_all): "
(search_header_contains): "
(search_header_contains): "
(search_body_contains): "
(camel_folder_search_execute_expression): Use mepool_strdup.
* providers/local/camel-mbox-summary.c (summary_update): Accessors
for messageinfo.
(mbox_summary_sync_full): "
* providers/local/camel-mh-summary.c (remove_summary): Accessors
for messageinfo.
(mh_summary_check): "
(mh_summary_sync_message): "
(mh_summary_sync): "
* providers/local/camel-mh-folder.c (mh_append_message): Use
accessor for uid.
* providers/local/camel-local-summary.c
(local_summary_decode_x_evolution): Use accessor to uid.
(local_summary_encode_x_evolution): Likewise.
(message_info_new): And here.
(camel_local_summary_load): Call virtual load function.
(local_summary_load): Default load function, load summary.
(camel_local_summary_load): Check file exists before trying to
load.
(camel_local_summary_construct): Turn off building content info!
(CAMEL_LOCAL_SUMMARY_VERSION): Bump, since we dont build content
info anymore.
(camel_local_summary_load): After a successful load/check, do a
save too so we dont have to go through it again randomly.
* providers/nntp/camel-nntp-utils.c (get_XOVER_headers): Use
accessors for messageinfo.
* providers/nntp/camel-nntp-folder.c (nntp_folder_get_uids): Use
accessors for uid.
* providers/imap/camel-imap-folder.c (imap_refresh_info): Use
accessor for uid.
(imap_sync): Likewise.
(imap_get_uids): Likewise.
(imap_update_summary): And here.
* providers/vee/camel-vee-folder.c (vfolder_remove_match): Use
accessor for uid.
(vfolder_add_match): Handle estrv stuff.
(vfolder_change_match): Accessor for uid.
(get_real_message): "
(vee_get_uids): "
(vee_folder_build): " + estrv.
(vee_folder_build_folder): "
* providers/local/camel-maildir-folder.c (maildir_append_message):
Use acccessors for uid's.
(maildir_get_message): Here too.
* providers/local/camel-maildir-summary.c
(camel_maildir_summary_init): Setup the string count for us.
(message_info_new): Access the string array directly.
(message_info_free): No need to free string if using array.
(camel_maildir_summary_info_to_name): Use accessor to get to uid.
(remove_summary): And here.
(maildir_summary_check): Likewise.
(maildir_summary_sync): And here.
(maildir_summary_load): Load up a cache of uid->filename mappings
before loading the actual summary file. This saves us having to
waste the diskspace storing the filenames in the summary itself,
and also helps us sync the summary better on load.
(message_info_load): If we have the load_map setup, and the uid
exists, then set the filename cache from it, and update the flags
from the name, incase our summary mismatches it.
* camel-folder-summary.c (camel_folder_summary_init): Setup string
count for compressed info record. An optional compile mode which
stores all strings for a given messageinfo into a packed array,
which should save 36-50 bytes/record.
(camel_folder_summary_info_new): Init the string array.
(message_info_new): Set the string array items, as required.
(message_info_load): And here too.
(message_info_save): Use accessors to get to strings.
(message_info_free): Free strings as one.
(camel_message_info_dup_to): Handle packed array case.
(camel_folder_summary_add): Use accessors. And pack the strv
before storing it.
(summary_assign_uid): New function to assign a unique uid to a
message, if it doesn't have one.
(camel_folder_summary_add): Call assign_uid instead of doing it
ourselves.
(camel_folder_summary_info_new_from_parser): "
(camel_folder_summary_info_new_from_message): "
(camel_folder_summary_encode_string): constify.
(camel_folder_summary_encode_token): "
(summary_build_content_info_message): Fix accessors to messageinfo.
(CAMEL_FOLDER_SUMMARY_VERSION): Bumped, for removal of
contentinfo->pos data.
(camel_folder_summary_info_new_from_parser): Calculate the size
based on the parser position, not the removed contentinfo stuff.
(camel_folder_summary_info_new_from_message): Remove size stuff.
(camel_folder_summary_offset_content): Removed, no longer means anything.
(content_info_new):
(content_info_load):
(content_info_save):
(summary_build_content_info): Remove stuff for contentinfo->pos*.
(summary_build_content_info): Take a msginfo argument, set
attachments flag if we find any attachments.
(summary_build_content_info_message): set attachments flag if we
find any attachments.
(camel_folder_summary_info_new_from_parser): Always scan the
content info, even if we dont save it.
(camel_folder_summary_info_new_from_message): And here too.
(summary_build_content_info): Only create the contentinfo stuff if
we have it turned on, otherwise just parse and discard.
(summary_build_content_info_message): Likewise.
svn path=/trunk/; revision=6731
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-11-20 Not Zed <NotZed@HelixCode.com>
* providers/nntp/camel-nntp-utils.c (get_XOVER_headers): Fixes for
the summary messageid changes. Hash the messageid and store it.
(get_XOVER_headers): Use camel_folder_summary_info_new() to create
the summary item before adding it.
* camel-folder-summary.h (CamelMessageInfo): Changed the
messgae-id to be an 8 byte md5 hash, and the references list to be
an array of these.
* providers/local/camel-mh-summary.c (mh_summary_sync_message):
New function, sync out the message info stuff. Only updates the
X-Ev header if it can get away with it, otherwise writes out a
whole new message.
(mh_summary_sync): Added more functionality. All summary info is
now written to the X-Ev header, etc, and new messages re-written
if required during the sync process.
* providers/local/camel-local-folder.c
(local_set_message_user_flag): Set the XEVCHANGE flag.
(local_set_message_user_tag): And here too.
* providers/local/camel-local-summary.h: New flag
CAMEL_MESSAGE_FOLDER_XEVCHANGE to indicate the XEV header has
probably changed size and needs to be rewritten in whole.
* camel-folder-summary.c (next_uid_string): Want this static, not
const.
(message_info_new): Store the references and message-id values as
64 bit, binary hashes.
(message_info_load): fix for message-id/references changes.
(message_info_save): Likewise.
(camel_message_info_dup_to): And here.
(camel_message_info_free): And here too. No longer free
message_id, and simple free for references array.
(CAMEL_FOLDER_SUMMARY_VERSION): Bumped file revision.
(camel_folder_summary_init): Init memchunk allocators to empty.
(camel_folder_summary_finalize): Free memchunk allocators if
there.
(message_info_new): Use the chunk allocator to allocate message
info's.
(camel_folder_summary_info_new): New helper to allocate the
message info, and setup the memchunk if required.
(content_info_alloc): Likewise for content info's.
(message_info_load): Use summary_info_new_empty.
(content_info_new): Use content_info_alloc.
(content_info_load): "
(content_info_free): Free the content info as a memchunk.
(message_info_free): Free everything directly and the base as a
memchunk, rather than calling camel_message_info_free(), which
assumes a malloc'd array.
* providers/local/camel-local-summary.c: Include ctype.h, kill a
warning.
(local_summary_decode_x_evolution): If we get a NULL message info,
then dont try and set anything, just check for validity.
(camel_local_summary_write_headers): New function to write a set
of headers to an fd.
(camel_local_summary_check): Added some statistic generation
stuff for memory profiling.
* providers/local/camel-mbox-summary.c (header_write): Changed to
use stdoi functions to write out the header to a buffered stream,
instead of using writev, which is apparently slow (and writing
each line separately is slow anyway).
(mbox_summary_sync_full): New implementation. Does things
differently, doesn't use or require the content info stuff.
(summary_rebuild): Dont return an error if we start scanning at
the end of file.
(mbox_summary_sync_full): If we are not writing out new headers,
make sure we copy the From line as we go, and update frompos
appropriately.
(mbox_summary_sync_full): Always copy the From line from the
existing one, rather than trying to make one up ourselves.
(mbox_summary_sync): If we can get by with a quick-sync, then try
it, if that fails, then try a full sync anyway.
(mbox_summary_sync_quick): Quick sync. Only update system flags,
etc.
(mbox_summary_sync_full): Use the proper local summary encode_xev
function.
(header_evolution_decode): Removed, no longer needed.
(header_evolution_encode): Same.
(copy_block): No longer needed, removed.
(header_write): Removed, replaced with
camel_local_summary_write_headers.
(mbox_summary_sync_full): Fixed for header_write change.
* camel-mime-parser.c (folder_scan_step): Implement the new
optional parser state HSCAN_PRE_FROM, that returns the (currently
unfiltered) input data.
(folder_scan_drop_step): Do the right thing for the PRE_FROM
state.
(camel_mime_parser_scan_from): Update the doco.
(camel_mime_parser_scan_pre_from): Ok, make this behaviour
optional, it simplifies a lot of loops that dont otherwise need to
know about it.
(folder_scan_step): Made the PRE_FROM state optional.
(struct _header_scan_state): Made the bool vars 1 bit.
(folder_pull_part): Free the from_line buffer if it is there.
(folder_scan_skip_line): Added a new arg, can save the skpped data
to a byte_array, as we go.
(folder_scan_step): Fixed calls to skip_line approrpiately. Now
we save the from line as we parse it.
(camel_mime_parser_read): New function to read from the mime
parser buffer directly. Useful if you use the parser to read the
first/some headers, then need to scan the rest of the data,
without needing to use a seek(), or allocate your own buffers.
* camel-mime-parser.h (struct _header_state): Added a new parser state,
pre-from which returns any data found before a from line during
parsing (all other data can be retrieved by the caller except
this).
svn path=/trunk/; revision=6618
|
|
least.
Checking in to make a backup.
svn path=/trunk/; revision=6575
|