Commit Graph

5567 Commits

Author SHA1 Message Date
17e51fc561 Make the behavior of the toolbars for the message composer and the
task editor "exclusive".

svn path=/trunk/; revision=6666
2000-11-25 06:14:22 +00:00
a2ad62af11 Documented.
2000-11-25  Miguel de Icaza  <miguel@helixcode.com>

	* e-cell.c: Documented.

2000-11-24  Miguel de Icaza  <miguel@helixcode.com>

	* e-cell-toggle.c (etog_queue_redraw): Documented.

	* e-cell-text.c: Removed list of unused arguments.  Add docs.

	* e-cell-checkbox.c (e_cell_checkbox_new): Add docs.

	* e-table-simple.c (e_table_simple_new): Add docs.

svn path=/trunk/; revision=6665
2000-11-25 05:05:40 +00:00
0c3908d771 inline documentation added.
2000-11-24  Miguel de Icaza  <miguel@helixcode.com>

	* e-table-header.c: inline documentation added.

	* e-table-col.c Added inline documentation.

	* e-table-model.c: Added some inline documentation.

svn path=/trunk/; revision=6664
2000-11-25 04:25:01 +00:00
f58d47f9b3 Unref the ETable extras.
2000-11-24  Federico Mena Quintero  <federico@helixcode.com>

	* gui/e-calendar-table.c (e_calendar_table_init): Unref the ETable
	extras.

svn path=/trunk/; revision=6663
2000-11-25 00:17:11 +00:00
785dc9bc40 Plug leak; mark the CORBA sequence so that it will be released.
2000-11-24  Federico Mena Quintero  <federico@helixcode.com>

	* evolution-shell-component.c
	(impl_ShellComponent__get_supported_types): Plug leak; mark the
	CORBA sequence so that it will be released.

svn path=/trunk/; revision=6662
2000-11-25 00:15:50 +00:00
6dbbc8029f DOH, fixed reversed test for the presence of the icalcomp's parent. This
2000-11-24  Federico Mena Quintero  <federico@helixcode.com>

	* cal-util/cal-component.c (free_icalcomponent): DOH, fixed
	reversed test for the presence of the icalcomp's parent.  This was
	causing memory leaks in the Wombat and elsewhere.

	* pcs/cal-backend.c (cal_backend_set_node_timet): Plug leak.

svn path=/trunk/; revision=6661
2000-11-24 23:51:35 +00:00
39dc8f4fc8 Use the new libical external iterators (icalcomponent_begin_component()
2000-11-24  Federico Mena Quintero  <federico@helixcode.com>

	* pcs/cal-backend-file.c (scan_vcalendar): Use the new libical
	external iterators (icalcomponent_begin_component() and friends);
	the internal iterators are deprecated.

	* cal-util/test-recur.c (generate_occurrences): Likewise.

	* gui/e-itip-control.c (pstream_load): Likewise.

	* gui/e-meeting-edit.c (e_meeting_edit): Likewise.

	* pcs/cal-backend.c (cal_backend_log_entry): Plug leak.
	(cal_backend_log_sync): Free the entry->uid.

	* util/icalendar-save.[ch]:
	* util/icalendar-test.c:
	* util/icalendar.[ch]: Removed obsolete files.

svn path=/trunk/; revision=6660
2000-11-24 20:41:01 +00:00
0a72c5b524 Updated Swedish translation.
svn path=/trunk/; revision=6659
2000-11-24 16:15:48 +00:00
05aaadc66b little util to scan mailboxes for any and every address they contain.
* tests/data/getaddr.pl: little util to scan mailboxes for any and
	every address they contain.

	* tests/message/test2.c (main): Added a bunch of stuff to test
	decoding/reencoding/etc of internationalised addresses.

	* tests/message/lib/address-data.h: Copy of some unicode/other
	testing data.  **Beware** of editing this file in emacs, it'll
	probably try and convert all the characters to something
	unusable.

	* tests/lib/camel-test.c (camel_test_break): Add a debugger hook
	point.

	* camel-mime-utils.c (quoted_encode): Check for space and convert
	to _ separately.
	(header_decode_mailbox): Fixed the 'check comments for realname'
	code, problem was the domain getting code was skipping all
	whitespace/comments before we could get a look-in.  This is
	approximate but fairly robust.
	(header_decode_text): Dont use the c-type isspace func here, we
	want a specific whitespace only.
	(header_decode_text): If we have decoded words next to each other,
	do not insert whitespaces between them, which is what rfc2047 requires.
	(header_decode_text): Make c unsigned too.

svn path=/trunk/; revision=6658
2000-11-24 07:06:45 +00:00
189cb50426 Added at least some explanation of all this stuff.
2000-11-24  Not Zed  <NotZed@HelixCode.com>

	* tests/README: Added at least some explanation of all this stuff.

	* tests/lib/camel-test.h (check_msg): Added a non-gcc version of
	the fail command, we dont get the expression that failed, but no
	matter.  Should be (more) portable now.
	(check, check_msg): Put the file/lineno in the default message.

svn path=/trunk/; revision=6657
2000-11-24 03:54:55 +00:00
99e80d6ecf Add tests.
2000-11-24  Not Zed  <NotZed@HelixCode.com>

	* Makefile.am (SUBDIRS): Add tests.

	* camel-mime-filter-basic.c (filter): Well, I'll add the extra
	bytes here too, lathough not strictly needed, might save a
	re-malloc when we get to complete().

	* camel-mime-filter-charset.c (filter): Make sure we have room if
	we only convert very short data.
	(complete): and here too.

	* tests/Makefile.am: Initial test harness & tests.  Requires gcc
	for this.

	* camel-internet-address.c (d): Turn off debug.

	* camel-charset-map.c (camel_charset_step): Oops, & masks for set
	intersection, not | them.  Dunno how this got even close to
	working.

2000-11-23  Not Zed  <NotZed@HelixCode.com>

	* camel-mime-filter-basic.c (filter): For base64 encoding, the
	output size for 0, 1, or 2 bytes of input can exceed input*2, so
	make sure we account for that as well.
	(complete): And here.
	(complete): Similarly for qp encoding, if we have a trailing
	space, we need some extra bytes (not needed for 'filter()', as any
	such bytes are stored in state/save).

	* camel-mime-utils.c (quoted_decode_step): Removed fixme not required.
	(quoted_encode_close): Dont append a trailing afterall.  Otherwise
	a pass through the encode/decode will grow the message each time.

svn path=/trunk/; revision=6656
2000-11-24 03:18:20 +00:00
a7e18523ff Added camel/tests stuff to output macro.
2000-11-24  Not Zed  <NotZed@HelixCode.com>

	* configure.in: Added camel/tests stuff to output macro.

2000-11-14  Not Zed  <NotZed@HelixCode.com>

	* configure.in: Added local provider dir to output macro.

svn path=/trunk/; revision=6655
2000-11-24 03:12:12 +00:00
c6e85a3bc2 Set view.change_context to NULL in pas_backend_file_process_get_book_view.
2000-11-22  Christopher James Lahey  <clahey@helixcode.com>

	* backend/pas/pas-backend-file.c: Set view.change_context to NULL
	in pas_backend_file_process_get_book_view.  Changed
	pas_backend_file_book_view_copy a bit.

	* backend/pas/pas-backend-ldap.c: Got rid of a warning.

svn path=/trunk/; revision=6654
2000-11-23 04:00:48 +00:00
93c7eea448 Fixed typo preventing compilation - NAME_ERROR should be LDAP_NAME_ERROR (I think!)
svn path=/trunk/; revision=6653
2000-11-23 01:17:56 +00:00
f7069251d4 Save the children - Federico
svn path=/trunk/; revision=6652
2000-11-22 18:28:44 +00:00
982a078d51 check for return values
2000-11-22  Radek Doulik  <rodo@helixcode.com>

	* camel-mime-utils.c (header_msgid_generate): check for return
	values

svn path=/trunk/; revision=6651
2000-11-22 15:50:10 +00:00
622ea8d512 debug printf
svn path=/trunk/; revision=6650
2000-11-22 14:26:20 +00:00
7d451013df Fixed some typos to get the table to display properly.
2000-11-22  Christopher James Lahey  <clahey@helixcode.com>

	* gal-define-views-dialog.c: Fixed some typos to get the table to
	display properly.

	* gal-view-new-dialog.c: Fixed the string for loading the glade
	file for this dialog.

svn path=/trunk/; revision=6649
2000-11-22 10:22:11 +00:00
fb2be68aa5 Patch from Eric Busboom <eric@softwarestudio.org> to fix BYDAY elements in
2000-11-21  Federico Mena Quintero  <federico@helixcode.com>

	* src/libical/icalyacc.y: Patch from Eric Busboom
	<eric@softwarestudio.org> to fix BYDAY elements in monthly
	recurrence rule values.

svn path=/trunk/; revision=6648
2000-11-22 05:11:26 +00:00
c32eefcd07 Squeek - Federico
svn path=/trunk/; revision=6647
2000-11-22 04:24:38 +00:00
971e05a645 Remove the check because it makes it look like the task is already
2000-11-21  Federico Mena Quintero  <federico@helixcode.com>

	* gui/task.xpm: Remove the check because it makes it look like the
	task is already completed.  This fixes bug #819.

	* gui/task-recurring.xpm: Make it use a prettier overlaid icon.

	* gui/task-*.xpm: Made the things look like little spiral-bound
	notebooks.

	* gui/e-calendar-table.c (E_CALENDAR_TABLE_SPEC): Make the default
	column order be icon/completed/summary.

2000-11-21  Federico Mena Quintero  <federico@helixcode.com>

svn path=/trunk/; revision=6646
2000-11-22 04:10:23 +00:00
17c69cb3be New function, set a reference to a string that is then owned/free'd by the
2000-11-22  Not Zed  <NotZed@HelixCode.com>

        * e-memory.c
        (e_strv_set_ref_free): New function, set a reference to a string
        that is then owned/free'd by the strv.
        (e_strv_destroy): If there are any strings to destroy, free them
        here.

svn path=/trunk/; revision=6645
2000-11-22 00:45:40 +00:00
f69d5ec143 Big patch. Evolution-services rewrite, services updated for new system,
Big patch.
Evolution-services rewrite, services updated for new system, Fixes to
Executive Summary and other things. See some changelogs

svn path=/trunk/; revision=6644
2000-11-22 00:34:39 +00:00
615a467b60 Removed gncal-todo.c.
2000-11-21  Federico Mena Quintero  <federico@helixcode.com>

	* POTFILES.in: Removed gncal-todo.c.

svn path=/trunk/; revision=6643
2000-11-21 23:42:46 +00:00
def00f78b1 add GPGME_CFLAGS and GPGME_LIBS
* Makefile.am: add GPGME_CFLAGS and GPGME_LIBS

svn path=/trunk/; revision=6642
2000-11-21 22:56:13 +00:00
0c0ae216ec Check for libgpgme. (Support not added to mail yet.)
* configure.in: Check for libgpgme. (Support not added to mail
	yet.)

svn path=/trunk/; revision=6641
2000-11-21 22:55:59 +00:00
1f490e1092 Moved ViewSource to the View menu and made it a toggle menu.
2000-11-21  Jeffrey Stedfast  <fejj@helixcode.com>

	* evolution-mail.xml: Moved ViewSource to the View menu and made
	it a toggle menu.

svn path=/trunk/; revision=6640
2000-11-21 22:10:51 +00:00
0fa1b87e9e New function to return if user wants to view message source.
2000-11-21  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-config.c (mail_config_view_source): New function to return
	if user wants to view message source.
	(mail_config_set_view_source): New function to set whether the
	view wants to view source.

	* mail-ops.c (mail_do_view_message_sources): Removed. We're not
	gonna view-source this way anymore.

	* folder-browser-factory.c: Removed the ViewSource bonobo verb
	from the Message menu.
	(control_activate): Added ViewSource.

	* folder-browser.c (on_right_click): Removed Message menu item to
	view message source.
	(folder_browser_toggle_view_source): New callback to set whether
	or not the MailDisplay shows the raw message or the pretty-ified
	message.

	* mail-callbacks.c: Removed view_source.

	* mail-display.c (redisplay): If toggle_raw is set then display
	the raw message else display the pretty formatted message.
	(mail_display_redisplay): New function to force the redisplay of a
	message.

	* mail-format.c (mail_format_raw_message): New function to
	write the raw message data.

svn path=/trunk/; revision=6639
2000-11-21 22:09:51 +00:00
fb92b831ae add #ifdef HAVE_ALLOCA_H
* camel-lock.c:
	* camel-movemail.c: add #ifdef HAVE_ALLOCA_H

svn path=/trunk/; revision=6638
2000-11-21 22:04:40 +00:00
5dcd6b087a sync - Federico
svn path=/trunk/; revision=6637
2000-11-21 21:56:57 +00:00
ba93ec63f5 Removed the default_user/local/Tasks/Makefile until the relevant files are
2000-11-21  Federico Mena Quintero  <federico@helixcode.com>

	* configure.in (EVOLUTION_DIR): Removed the
	default_user/local/Tasks/Makefile until the relevant files are on
	CVS.

svn path=/trunk/; revision=6636
2000-11-21 21:56:39 +00:00
edbacc610d The icon column is not editable!
2000-11-21  Federico Mena Quintero  <federico@helixcode.com>

	* gui/calendar-model.c (calendar_model_is_cell_editable): The icon
	column is not editable!

	* gui/calendar-commands.c (todo_properties_changed): Removed.
	(time_format_changed): Removed.
	(colors_changed): Removed.

	* gui/calendar-commands.h:
	* gui/prop.c (prop_apply):
	* gui/calendar-commands.c (init_calendar): Removed the old to-do
	list crap.

	* gui/gncal-todo.[ch]: Removed obsolete files.

	* gui/Makefile.am (evolution_calendar_SOURCES): Removed gncal-todo.[ch].

	* gui/gnome-cal.c (gnome_calendar_todo_properties_changed): Removed.
	(gnome_calendar_time_format_changed): Removed.
	(gnome_calendar_colors_changed): Removed.

svn path=/trunk/; revision=6635
2000-11-21 21:50:42 +00:00
1257b0d782 Fixed size allocation bug.
svn path=/trunk/; revision=6634
2000-11-21 19:40:14 +00:00
2f199f88dc Removed mail/message-thread.c and added camel/camel-folder-thread.c
2000-11-21  Jeffrey Stedfast  <fejj@helixcode.com>

	* POTFILES.in: Removed mail/message-thread.c and added
	camel/camel-folder-thread.c

svn path=/trunk/; revision=6633
2000-11-21 19:13:57 +00:00
446b481820 took out some no longer needed printfs.
2000-11-21  Jeffrey Stedfast  <fejj@helixcode.com>

	* filter-message-search.c: took out some no longer needed
	printfs.

svn path=/trunk/; revision=6632
2000-11-21 18:26:16 +00:00
477df7090a If we dont get a big enough chunk in the first node, give up. Otherwise we
2000-11-22  Not Zed  <NotZed@HelixCode.com>

        * e-memory.c (e_mempool_alloc): If we dont get a big enough chunk
        in the first node, give up.  Otherwise we spend too much time
        searching.
        (e_mempool_strdup): Doh, and allocate enough for the terminating
        NUL at that.

svn path=/trunk/; revision=6631
2000-11-21 14:59:13 +00:00
bb09c40e2f New function to strdup into a mempool.
2000-11-21  Not Zed  <NotZed@HelixCode.com>

        * e-memory.c
        (e_mempool_strdup): New function to strdup into a mempool.

svn path=/trunk/; revision=6630
2000-11-21 14:31:41 +00:00
8d9d1e00dd IF we dont find a source, clear the exception and ignore it silently. for
2000-11-21  Not Zed  <NotZed@HelixCode.com>

	* mail-vfolder.c (vfolder_uri_to_folder): IF we dont find a
	source, clear the exception and ignore it silently.  for e.g. if
	the user reconfigured their mailboxes and one of them no longer
	exists.

	* message-list.c:
	(message_list_set_folder): If we get set a new folder, unhook any
	events before unrefing the folder too (the folder is never reset
	currently, but this would cause problems).
	(subtree_unread): Check for uid null, wont crash, but its a bug.
	(ml_tree_value_at): If the uid is null, then fake an obviously bad
	line.
	(build_subtree): Yeah well, we can't like freeze/thaw here,
	because this is called recursive, and freeze/thaw isn't
	recursive, like pre model and post model change was.
	(build_tree): Maybe we can try it here, although i dont think
	it'll help much.
	(build_flat): And this is also a tree.  yes a tree.
	(build_tree): Added changes arg.  If set, then try the 'diff'
	approach, unless the tree is already empty.
	(message_list_set_threaded): Dont clear the tree here.
	(message_list_set_search): Or here.

svn path=/trunk/; revision=6629
2000-11-21 14:28:06 +00:00
a34a4b15b8 Shite, -1 on error, >=0 on success. So i've just been truncating all the
2000-11-21  Not Zed  <NotZed@HelixCode.com>

	* providers/local/camel-mh-summary.c (mh_summary_sync_message):
	Shite, -1 on error, >=0 on success.  So i've just been truncating
	all the messages I touched, good one zed.
	(mh_summary_sync_message): Sigh, and write to the right damn fd as
	well.
	(mh_summary_sync_message): Argh, and we need to compare the length
	of the old xev -1 to the new xev, to check if we can optimise it.

	* camel-folder.c (camel_folder_change_info_new): Init the pool.
	(camel_folder_change_info_add_source): Allocate string in the
	pool.
	(camel_folder_change_info_add_source_list):
	(camel_folder_change_info_add_update): No longer free the key, as
	it cannot be yet.
	(change_info_add_uid): Add a new arg, copy, telling it whether to
	copy the uid argument or not, and copy using mempool_strdup.
	(change_info_cat): Tell add_uid to copy the string.
	(camel_folder_change_info_add_update): Call add_uid directly.
	(change_info_remove): Call add_uid directly, with no copy, and
	dont free the key.
	(change_info_free_update): No longer required since we dont malloc
	the keys.
	(camel_folder_change_info_add_uid): Fix for add_uid change.
	(camel_folder_change_info_remove_uid):
	(camel_folder_change_info_change_uid):
	(change_info_clear): No longer needed, just set the size to 0 on
	the array directly.
	(camel_folder_change_info_clear): Empty the arrays directly, and
	flush the mempool too, and also clear uid_source, incase anyone
	was silly enough to call us in the wrong order.
	(camel_folder_change_info_free): Dont bother clearing the array's
	contents, just free the pool and throw away all the indexes.

	* camel-folder.h: Added a mempool to CamelFolderChangeInfo to
	store the uid's we get.

	* camel-folder-search.c (search_match_all): If we are only
	matching a single info, just use that/do the search.
	(camel_folder_search_match_expression): New function.  Matches a
	single message info against an expression.
	(camel_folder_search_init): Init a hash table used to map the
	returned gptrarrays' to mempools.
	(camel_folder_search_execute_expression): Store all of the string
	data in a mempool, slightly faster, less wasted space (usually),.
	(camel_folder_search_free_result): Check for the mempool that
	stores the data for the list, and free that if we have it,
	otherwise assume we need to use g_free() (which should only happen
	if the list is empty at the moment).
	: commented out the debugging prints.  Got sick of 'executing
	header search' crap.

	* providers/vee/camel-vee-folder.c (camel_vee_folder_init): Init
	changes.
	(camel_vee_folder_finalise): Free changes.
	(vfolder_add_match): Simple helper to add a new matching info
	record.
	(camel_vee_folder_add_folder): Only trigger a changed event if we
	have changes.
	(vfolder_change_match): New function, changes our local vfolder
	info to match the source.
	(vfolder_add_match): Add a new info to the vfolder list.
	(vfolder_remove_match): Remove a no-longer matching info from the
	vfolder summary.
	(message_changed): check if the message still matches, and
	remove/etc as required.
	(camel_vee_folder_finalise, init): init/free search object.
	(vee_folder_build_folder): Build the changes to the folder into
	the changes data, as we go.
	(folder_changed): If the folder gave us an explicit list of
	changes, then process each one separately (unless there's a lot
	added/changed).

	* providers/vee/camel-vee-folder.h: Added a changes field to the
	folder.

svn path=/trunk/; revision=6628
2000-11-21 13:38:53 +00:00
c657e20b4c #include <gtkhtml/gtkhtml-embedded.h>
2000-11-21  Radek Doulik  <rodo@helixcode.com>

	* mail-display.c: #include <gtkhtml/gtkhtml-embedded.h>

svn path=/trunk/; revision=6627
2000-11-21 11:27:30 +00:00
b8452fdfac use html_engine_is_selection_active added some includes
2000-11-21  Radek Doulik  <rodo@helixcode.com>

	* component/e-summary.c (e_summary_rebuild_page): use html_engine_is_selection_active
	added some includes

svn path=/trunk/; revision=6626
2000-11-21 11:16:53 +00:00
587d706eea Removed. No longer serves a purpose.
2000-11-21  Not Zed  <NotZed@HelixCode.com>

        * message-thread.[ch]: Removed.  No longer serves a purpose.

        * Makefile.am (evolution_mail_SOURCES): Removed message-thread.[ch].

        * message-list.c (build_subtree):
        (node_equal):
        (add_node_diff):
        (build_subtree_diff):
        (do_regenerate_messagelist):
        (cleanup_regenerate_messagelist): Changed to use camel-folder-thread.

svn path=/trunk/; revision=6625
2000-11-21 04:28:53 +00:00
4639aa999e New function to allocate a zero'd out chunk.
2000-11-21  Not Zed  <NotZed@HelixCode.com>

        * e-memory.c (e_memchunk_alloc0): New function to allocate a
        zero'd out chunk.

svn path=/trunk/; revision=6624
2000-11-21 04:01:10 +00:00
7ea24b0cb1 Added camel-folder-thread.[ch].
2000-11-21  Not Zed  <NotZed@HelixCode.com>

        * Makefile.am (libcamel_la_SOURCES): Added
        camel-folder-thread.[ch].

        * camel-folder-thread.c: message-threading algorithm, taken from
        evolutions' mail component, as it is generally more useful than
        just for evolution itself.  Changed to use e-memchunks as well to
        speed it up a little and use less mem.

svn path=/trunk/; revision=6623
2000-11-21 03:51:33 +00:00
0f442b0884 fix changelog merge conflicts
svn path=/trunk/; revision=6622
2000-11-21 02:21:40 +00:00
2cf986c43b Fixed to return the correct bytecount in all cases which is the real fix
2000-11-20  Jeffrey Stedfast  <fejj@helixcode.com>

	* camel-remote-store.c (remote_recv_line): Fixed to return the
	correct bytecount in all cases which is the real fix to
	imap_parse_nstring.

	* providers/imap/camel-imap-command.c (imap_read_untagged): Again,
	don't use strlen for the post-data, use 'n'.

	* providers/imap/camel-imap-utils.c (imap_parse_nstring): Undo my
	previous temp-fix.

svn path=/trunk/; revision=6621
2000-11-21 02:21:03 +00:00
484334eaec Fix IMAP get-mail to work; CORBA calls in the dispatch thread are a no-no.
svn path=/trunk/; revision=6620
2000-11-21 02:08:37 +00:00
79f6be42c0 New routines for fast memory management and compact string array storage.
2000-11-20  Not Zed  <NotZed@HelixCode.com>

        * e-memory.[ch]: New routines for fast memory management and
        compact string array storage.

        * Makefile.am (libeutil_la_SOURCES): Added e-memory.[ch].

svn path=/trunk/; revision=6619
2000-11-20 23:57:32 +00:00
854f94bc20 Fixes for the summary messageid changes. Hash the messageid and store it.
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
2000-11-20 23:54:48 +00:00
7b8057a43c Save out the md5 hash of the messageid as hex, since thats all we have for
2000-11-20  Not Zed  <NotZed@HelixCode.com>

        * message-list.c (save_node_state): Save out the md5 hash of the
        messageid as hex, since thats all we have for those nodes.
        (build_subtree): Expand the messageid to a hex string first, then
        check it.
        (add_node_diff): And the same here.

        * message-thread.c (thread_messages): Changed for changes to
        messageid/references items.
        (id_hash, id_equal): New functions to hash on the binary message id hash.
        (thread_messages): removed some more no longer used dead code.

svn path=/trunk/; revision=6617
2000-11-20 23:49:53 +00:00