<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gsoc2013-evolution/camel/tests/folder, branch BEFORE_BOBJECT</title>
<subtitle>Google Summer of Code 2013 - GNOME - Archive Integration workspace
</subtitle>
<link rel='alternate' type='text/html' href='https://www.lant.com.tw/~lantw44/cgit/cgit.cgi/gsoc2013-evolution/'/>
<entry>
<title>This commit was manufactured by cvs2svn to create tag</title>
<updated>2001-02-04T04:10:39+00:00</updated>
<author>
<name>nobody</name>
<email>nobody@localhost</email>
</author>
<published>2001-02-04T04:10:39+00:00</published>
<link rel='alternate' type='text/html' href='https://www.lant.com.tw/~lantw44/cgit/cgit.cgi/gsoc2013-evolution/commit/?id=541ed6bf346abe33775bfa8fbe4361d53a02924d'/>
<id>541ed6bf346abe33775bfa8fbe4361d53a02924d</id>
<content type='text'>
'BEFORE_BOBJECT'.

svn path=/tags/BEFORE_BOBJECT/; revision=7953
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
'BEFORE_BOBJECT'.

svn path=/tags/BEFORE_BOBJECT/; revision=7953
</pre>
</div>
</content>
</entry>
<entry>
<title>Changed the subject search to handle case sensitive when it is mixed case.</title>
<updated>2001-01-25T02:04:28+00:00</updated>
<author>
<name>Not Zed</name>
<email>NotZed@Ximian.com</email>
</author>
<published>2001-01-25T02:04:28+00:00</published>
<link rel='alternate' type='text/html' href='https://www.lant.com.tw/~lantw44/cgit/cgit.cgi/gsoc2013-evolution/commit/?id=1a403012d41b1619f4d946921184425b62b322a9'/>
<id>1a403012d41b1619f4d946921184425b62b322a9</id>
<content type='text'>
2001-01-25  Not Zed  &lt;NotZed@Ximian.com&gt;

	* tests/folder/test3.c: Changed the subject search to handle case
	sensitive when it is mixed case.

	* Makefile.am (libcamel_la_SOURCES): Added camel-ssearch-private.c
	(noinst_HEADERS): Added camel-search-private.h

	* camel-folder-search.c (check_header): New function to do the
	work of the various header checks.
	(search_header_matches):
	(search_header_starts_with):
	(search_header_ends_with):
	(search_header_contains): Use check_header to do the work.
	(build_match_regex): Removed.

	* camel-search-private.c (header_soundex):  New
	function to match words to phrases using soundex algorithm.

	* camel-filter-search.c (soundexcmp): Removed.
	(check_match): Moved to search-private.h

2001-01-24  Not Zed  &lt;NotZed@Ximian.com&gt;

	* camel-search-private.c (camel_search_build_match_regex): Added
	extra flags, so the same function can be used for
	start/end/whole/partial matches.
	(camel_search_header_match): Convenience function to check a
	single header against all sorts of different matches.

	* providers/imap/camel-imap-search.c (imap_body_contains): Fix for
	e_sexp api changes.

	* camel-folder-search.c: Fix for e_sexp api changes.
	(search_header_contains): Free args/quit on unknown header.
	(search_header_matches): "
	(search_header_starts_with): "
	(search_header_ends_with): "
	(match_message): Add an exception argument.
	(search_body_contains): Free args/quit on fatal error.
	(message_body_contains): Removed (moved to
	camel-search-private.c), fixed callers.

	* camel-filter-search.c: Fix for e_sexp api changes.
	(build_match_regex, message_body_contains): Moved into
	camel-filter-private.c  Fixed callers.
	(check_header): moved guts to camel-search-private, and
	changed to use regex's for everything.  Just calls that with the
	right args.
	(check_header): GEts the header, decodes it, and checks for
	failure, and whatnot.
	(check_match): Removed.
	(header_soundex): Changed significantly.  Now it soundexes each
	word in the header separately, and compares it to the first
	argument.

	* tests/folder/test9.c (main): Fix for api changes.
	(main): Added tests to see that invalid match and action
	rules are properly detected.

	* camel-filter-driver.c (camel_filter_driver_filter_mbox): Remove
	the 'finished message' bit.
	(camel_filter_driver_filter_message): Remove an accidentally
	checked in debug.
	(camel_filter_driver_filter_message): Fix for e-sexp api changes.

svn path=/trunk/; revision=7796
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
2001-01-25  Not Zed  &lt;NotZed@Ximian.com&gt;

	* tests/folder/test3.c: Changed the subject search to handle case
	sensitive when it is mixed case.

	* Makefile.am (libcamel_la_SOURCES): Added camel-ssearch-private.c
	(noinst_HEADERS): Added camel-search-private.h

	* camel-folder-search.c (check_header): New function to do the
	work of the various header checks.
	(search_header_matches):
	(search_header_starts_with):
	(search_header_ends_with):
	(search_header_contains): Use check_header to do the work.
	(build_match_regex): Removed.

	* camel-search-private.c (header_soundex):  New
	function to match words to phrases using soundex algorithm.

	* camel-filter-search.c (soundexcmp): Removed.
	(check_match): Moved to search-private.h

2001-01-24  Not Zed  &lt;NotZed@Ximian.com&gt;

	* camel-search-private.c (camel_search_build_match_regex): Added
	extra flags, so the same function can be used for
	start/end/whole/partial matches.
	(camel_search_header_match): Convenience function to check a
	single header against all sorts of different matches.

	* providers/imap/camel-imap-search.c (imap_body_contains): Fix for
	e_sexp api changes.

	* camel-folder-search.c: Fix for e_sexp api changes.
	(search_header_contains): Free args/quit on unknown header.
	(search_header_matches): "
	(search_header_starts_with): "
	(search_header_ends_with): "
	(match_message): Add an exception argument.
	(search_body_contains): Free args/quit on fatal error.
	(message_body_contains): Removed (moved to
	camel-search-private.c), fixed callers.

	* camel-filter-search.c: Fix for e_sexp api changes.
	(build_match_regex, message_body_contains): Moved into
	camel-filter-private.c  Fixed callers.
	(check_header): moved guts to camel-search-private, and
	changed to use regex's for everything.  Just calls that with the
	right args.
	(check_header): GEts the header, decodes it, and checks for
	failure, and whatnot.
	(check_match): Removed.
	(header_soundex): Changed significantly.  Now it soundexes each
	word in the header separately, and compares it to the first
	argument.

	* tests/folder/test9.c (main): Fix for api changes.
	(main): Added tests to see that invalid match and action
	rules are properly detected.

	* camel-filter-driver.c (camel_filter_driver_filter_mbox): Remove
	the 'finished message' bit.
	(camel_filter_driver_filter_message): Remove an accidentally
	checked in debug.
	(camel_filter_driver_filter_message): Fix for e-sexp api changes.

svn path=/trunk/; revision=7796
</pre>
</div>
</content>
</entry>
<entry>
<title>Added tests to see that invalid match and action rules are properly</title>
<updated>2001-01-24T00:36:46+00:00</updated>
<author>
<name>Not Zed</name>
<email>NotZed@Ximian.com</email>
</author>
<published>2001-01-24T00:36:46+00:00</published>
<link rel='alternate' type='text/html' href='https://www.lant.com.tw/~lantw44/cgit/cgit.cgi/gsoc2013-evolution/commit/?id=3a8e66e4f2d24c02c6e3029c04dcb078bd324605'/>
<id>3a8e66e4f2d24c02c6e3029c04dcb078bd324605</id>
<content type='text'>
2001-01-24  Not Zed  &lt;NotZed@Ximian.com&gt;

        * tests/folder/test9.c
        (main): Added tests to see that invalid match and action
        rules are properly detected.

svn path=/trunk/; revision=7767
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
2001-01-24  Not Zed  &lt;NotZed@Ximian.com&gt;

        * tests/folder/test9.c
        (main): Added tests to see that invalid match and action
        rules are properly detected.

svn path=/trunk/; revision=7767
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix for api changes.</title>
<updated>2001-01-23T23:52:30+00:00</updated>
<author>
<name>Not Zed</name>
<email>NotZed@Ximian.com</email>
</author>
<published>2001-01-23T23:52:30+00:00</published>
<link rel='alternate' type='text/html' href='https://www.lant.com.tw/~lantw44/cgit/cgit.cgi/gsoc2013-evolution/commit/?id=8b35e075d2d3b7234216b0fcc86c98efef07cf64'/>
<id>8b35e075d2d3b7234216b0fcc86c98efef07cf64</id>
<content type='text'>
2001-01-24  Not Zed  &lt;NotZed@Ximian.com&gt;

        * tests/folder/test9.c (main): Fix for api changes.

svn path=/trunk/; revision=7765
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
2001-01-24  Not Zed  &lt;NotZed@Ximian.com&gt;

        * tests/folder/test9.c (main): Fix for api changes.

svn path=/trunk/; revision=7765
</pre>
</div>
</content>
</entry>
<entry>
<title>Added profiling temp files.</title>
<updated>2001-01-22T11:57:29+00:00</updated>
<author>
<name>Not Zed</name>
<email>NotZed@Ximian.com</email>
</author>
<published>2001-01-22T11:57:29+00:00</published>
<link rel='alternate' type='text/html' href='https://www.lant.com.tw/~lantw44/cgit/cgit.cgi/gsoc2013-evolution/commit/?id=881c6eb75265d4d414626fbb0b22acb8921d7e14'/>
<id>881c6eb75265d4d414626fbb0b22acb8921d7e14</id>
<content type='text'>
2001-01-22  Not Zed  &lt;NotZed@Ximian.com&gt;

        * .cvsignore */*/.cvsignore: Added profiling temp
        files.

svn path=/trunk/; revision=7705
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
2001-01-22  Not Zed  &lt;NotZed@Ximian.com&gt;

        * .cvsignore */*/.cvsignore: Added profiling temp
        files.

svn path=/trunk/; revision=7705
</pre>
</div>
</content>
</entry>
<entry>
<title>Index: ChangeLog</title>
<updated>2001-01-17T01:07:02+00:00</updated>
<author>
<name>Michael Zucci</name>
<email>zucchi@src.gnome.org</email>
</author>
<published>2001-01-17T01:07:02+00:00</published>
<link rel='alternate' type='text/html' href='https://www.lant.com.tw/~lantw44/cgit/cgit.cgi/gsoc2013-evolution/commit/?id=4f5effdf884b53299fb85bf344ccd5441f01d7fe'/>
<id>4f5effdf884b53299fb85bf344ccd5441f01d7fe</id>
<content type='text'>
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/camel/ChangeLog,v
retrieving revision 1.684
diff -r1.684 ChangeLog
0a1,34
&gt; 2001-01-17  Not Zed  &lt;NotZed@Ximian.com&gt;
&gt;
&gt; 	* camel-folder.c (free_summary): Call
&gt; 	camel_folder_summary_array_free() to do the work.
&gt; 	(get_summary): Use camel_folder_summary_array() to get the array
&gt; 	atomically.  These fixes allow folder/test8 to work again, and fix
&gt; 	a sort of race where the summary size can change while we were
&gt; 	making a copy of it.
&gt;
&gt; 	* camel-folder-summary.c (camel_folder_summary_array): Get the
&gt; 	summary array atomically, so it can't contain empty records.
&gt; 	(camel_folder_summary_array_free): And free it.
&gt;
&gt; 	* tests/lib/camel-test.c (die): If we are verbose &amp; in threads,
&gt; 	then goto sleep so we can debug.
&gt;
&gt; 	* tests/folder/test8.c (worker): Add a missing pull() for
&gt; 	comnparing content.
&gt;
&gt; 	* camel-filter-search.c: Fix the symbol table, so match-all is an
&gt; 	immediate function, as it should be.
&gt;
&gt; 	* tests/folder/test9.c (main): New test, tests some filtering
&gt; 	things.
&gt;
&gt; 	* tests/message/test3.c (main): Dont use a boundary string with
&gt; 	spaces in it.  Folding can corrupt it.  Maybe the folding isn't
&gt; 	working entirely right, but anyway.
&gt;
&gt; 	* camel-session.c: Debug out the debug.
&gt;
&gt; 	* camel-filter-driver.c (camel_filter_driver_filter_folder): Plug
&gt; 	a messageinfo leak.
&gt;
1a36,94
&gt;
&gt; 	* camel-filter-search.c (header_exists): Changed to support
&gt; 	multiple args (or'd together).
&gt; 	(header_contains): Cleaned up to match the search code.  Why did
&gt; 	fejj change it? I'll never know.
&gt; 	(header_matches):
&gt; 	(header_starts_with):
&gt; 	(header_ends_with): Big cleanup of fejj's "i'm the cut &amp; paste
&gt; 	king" code.  Also properly handle or'ing of additional args to
&gt; 	match what the folder-search code should do.
&gt; 	(check_match): New function which does the annoying matching
&gt; 	stuff (for header matches).
&gt; 	(check_header): Similarly, handles or'ing of the matches together.
&gt; 	(header_contains):
&gt; 	(header_matches):
&gt; 	(header_starts_with):
&gt; 	(header_ends_with): Call check_header to do the actual work.
&gt; 	(header_soundex): And here too.
&gt; 	(match_all): Yeah like match-all isn't passed expression results,
&gt; 	its passed expression terms.  Fix this so match-all works like it
&gt; 	should, by executing the contained expression.
&gt; 	(message_body_contains): Copied directly from
&gt; 	camel-folder-search.c, a more robust/faster/simpler body search
&gt; 	code.
&gt; 	(mime_part_matches): Removed entirely.
&gt; 	(handle_multipart): Removed entirely.
&gt; 	(build_match_regex): Copied from camel-folder-search.  Builds a
&gt; 	set of simple strings into a regex pattern that matches any of
&gt; 	them (for faster &amp; simpler matching).  Expanded to accept regex
&gt; 	patterns itself, so it can merge them together.
&gt; 	(body_contains): Use build match/match message to match using a
&gt; 	built regex.
&gt; 	(body_regex): Likewise, this time we tell it we're building a
&gt; 	regex though.
&gt; 	(header_full_regex): Use build_match_regex to take the drudgery
&gt; 	out of it, and expand it to handle multiple regex's at once.
&gt; 	(get_full_header): slightly cleaner (well i dunno, the sprintf
&gt; 	stuff just got to me).
&gt; 	(header_regex): Cleaned up to use build_match_Regex too, and to
&gt; 	properly check types.
&gt; 	(filter_message_search): Just allocate 'fms' on the stack.
&gt;
&gt; 	* camel-filter-driver.c (camel_filter_driver_finalise):
&gt; 	(camel_filter_driver_init):
&gt; 	(camel_filter_driver_class_init):
&gt; 	(camel_filter_driver_get_type): Changed from gtk object to camel
&gt; 	object.
&gt; 	(camel_filter_driver_add_rule): New function to add a rule to be
&gt; 	processed in sexp form.
&gt; 	(camel_filter_driver_init): Init the rules list.
&gt; 	(camel_filter_driver_finalise): Clear the rules/rules list.
&gt; 	(camel_filter_driver_filter_message): Scan rules list directly
&gt; 	rather than creating on the fly.
&gt;
&gt; 	* Makefile.am (libcamelinclude_HEADERS): Added camel-filter-driver.h
&gt; 	(libcamel_la_SOURCES): Added camel-filter-driver.c, code taken
&gt; 	from filter-driver, which can drive, uh, filters based on sexp's.
&gt; 	(libcamelinclude_HEADERS):
&gt; 	(libcamel_la_SOURCES): Added camel-filter-search.[ch]

svn path=/trunk/; revision=7560
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/camel/ChangeLog,v
retrieving revision 1.684
diff -r1.684 ChangeLog
0a1,34
&gt; 2001-01-17  Not Zed  &lt;NotZed@Ximian.com&gt;
&gt;
&gt; 	* camel-folder.c (free_summary): Call
&gt; 	camel_folder_summary_array_free() to do the work.
&gt; 	(get_summary): Use camel_folder_summary_array() to get the array
&gt; 	atomically.  These fixes allow folder/test8 to work again, and fix
&gt; 	a sort of race where the summary size can change while we were
&gt; 	making a copy of it.
&gt;
&gt; 	* camel-folder-summary.c (camel_folder_summary_array): Get the
&gt; 	summary array atomically, so it can't contain empty records.
&gt; 	(camel_folder_summary_array_free): And free it.
&gt;
&gt; 	* tests/lib/camel-test.c (die): If we are verbose &amp; in threads,
&gt; 	then goto sleep so we can debug.
&gt;
&gt; 	* tests/folder/test8.c (worker): Add a missing pull() for
&gt; 	comnparing content.
&gt;
&gt; 	* camel-filter-search.c: Fix the symbol table, so match-all is an
&gt; 	immediate function, as it should be.
&gt;
&gt; 	* tests/folder/test9.c (main): New test, tests some filtering
&gt; 	things.
&gt;
&gt; 	* tests/message/test3.c (main): Dont use a boundary string with
&gt; 	spaces in it.  Folding can corrupt it.  Maybe the folding isn't
&gt; 	working entirely right, but anyway.
&gt;
&gt; 	* camel-session.c: Debug out the debug.
&gt;
&gt; 	* camel-filter-driver.c (camel_filter_driver_filter_folder): Plug
&gt; 	a messageinfo leak.
&gt;
1a36,94
&gt;
&gt; 	* camel-filter-search.c (header_exists): Changed to support
&gt; 	multiple args (or'd together).
&gt; 	(header_contains): Cleaned up to match the search code.  Why did
&gt; 	fejj change it? I'll never know.
&gt; 	(header_matches):
&gt; 	(header_starts_with):
&gt; 	(header_ends_with): Big cleanup of fejj's "i'm the cut &amp; paste
&gt; 	king" code.  Also properly handle or'ing of additional args to
&gt; 	match what the folder-search code should do.
&gt; 	(check_match): New function which does the annoying matching
&gt; 	stuff (for header matches).
&gt; 	(check_header): Similarly, handles or'ing of the matches together.
&gt; 	(header_contains):
&gt; 	(header_matches):
&gt; 	(header_starts_with):
&gt; 	(header_ends_with): Call check_header to do the actual work.
&gt; 	(header_soundex): And here too.
&gt; 	(match_all): Yeah like match-all isn't passed expression results,
&gt; 	its passed expression terms.  Fix this so match-all works like it
&gt; 	should, by executing the contained expression.
&gt; 	(message_body_contains): Copied directly from
&gt; 	camel-folder-search.c, a more robust/faster/simpler body search
&gt; 	code.
&gt; 	(mime_part_matches): Removed entirely.
&gt; 	(handle_multipart): Removed entirely.
&gt; 	(build_match_regex): Copied from camel-folder-search.  Builds a
&gt; 	set of simple strings into a regex pattern that matches any of
&gt; 	them (for faster &amp; simpler matching).  Expanded to accept regex
&gt; 	patterns itself, so it can merge them together.
&gt; 	(body_contains): Use build match/match message to match using a
&gt; 	built regex.
&gt; 	(body_regex): Likewise, this time we tell it we're building a
&gt; 	regex though.
&gt; 	(header_full_regex): Use build_match_regex to take the drudgery
&gt; 	out of it, and expand it to handle multiple regex's at once.
&gt; 	(get_full_header): slightly cleaner (well i dunno, the sprintf
&gt; 	stuff just got to me).
&gt; 	(header_regex): Cleaned up to use build_match_Regex too, and to
&gt; 	properly check types.
&gt; 	(filter_message_search): Just allocate 'fms' on the stack.
&gt;
&gt; 	* camel-filter-driver.c (camel_filter_driver_finalise):
&gt; 	(camel_filter_driver_init):
&gt; 	(camel_filter_driver_class_init):
&gt; 	(camel_filter_driver_get_type): Changed from gtk object to camel
&gt; 	object.
&gt; 	(camel_filter_driver_add_rule): New function to add a rule to be
&gt; 	processed in sexp form.
&gt; 	(camel_filter_driver_init): Init the rules list.
&gt; 	(camel_filter_driver_finalise): Clear the rules/rules list.
&gt; 	(camel_filter_driver_filter_message): Scan rules list directly
&gt; 	rather than creating on the fly.
&gt;
&gt; 	* Makefile.am (libcamelinclude_HEADERS): Added camel-filter-driver.h
&gt; 	(libcamel_la_SOURCES): Added camel-filter-driver.c, code taken
&gt; 	from filter-driver, which can drive, uh, filters based on sexp's.
&gt; 	(libcamelinclude_HEADERS):
&gt; 	(libcamel_la_SOURCES): Added camel-filter-search.[ch]

svn path=/trunk/; revision=7560
</pre>
</div>
</content>
</entry>
<entry>
<title>Lock the command channel while searching. (imap_body_contains): If</title>
<updated>2000-12-24T00:46:20+00:00</updated>
<author>
<name>Not Zed</name>
<email>NotZed@HelixCode.com</email>
</author>
<published>2000-12-24T00:46:20+00:00</published>
<link rel='alternate' type='text/html' href='https://www.lant.com.tw/~lantw44/cgit/cgit.cgi/gsoc2013-evolution/commit/?id=6de256c2a2b23f30d35e4a2213ad5839bf141d06'/>
<id>6de256c2a2b23f30d35e4a2213ad5839bf141d06</id>
<content type='text'>
2000-12-24  Not Zed  &lt;NotZed@HelixCode.com&gt;

        * providers/imap/camel-imap-search.c (imap_body_contains): Lock
        the command channel while searching.
        (imap_body_contains): If performing a whole uid search, then add
        references to our own summary items, dont look it up in the
        folder.  This way they can't vanish unexpectedly.

        * providers/imap/camel-imap-folder.h (CamelImapFolder): Added a
        private field.

        * providers/imap/camel-imap-private.h: Added lock for imap
        searches.

        * Merge from camel-mt-branch.

        * providers/imap/camel-imap-folder.c (imap_update_summary): Merge
        fix, use the folder-&gt;summary.
        (imap_get_message_flags, imap_set_message_flags,
        imap_get_message_user_flag, imap_set_message_user_flag): Removed
        again.
        (camel_imap_folder_init): Setup private data/lock.
        (imap_finalize): Free private data/search lock.
        (imap_search_free): Lock the search_lock.
        (imap_search_by_expression): Lock the search lock when using the
        search object.  Also copy/ref hte summary, rather than getting it
        directly.
        (imap_refresh_info): Free any info lookups.  Use folder-&gt;summary
        not imap_folder-&gt;summary.  And lock around commands.

svn path=/trunk/; revision=7150
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
2000-12-24  Not Zed  &lt;NotZed@HelixCode.com&gt;

        * providers/imap/camel-imap-search.c (imap_body_contains): Lock
        the command channel while searching.
        (imap_body_contains): If performing a whole uid search, then add
        references to our own summary items, dont look it up in the
        folder.  This way they can't vanish unexpectedly.

        * providers/imap/camel-imap-folder.h (CamelImapFolder): Added a
        private field.

        * providers/imap/camel-imap-private.h: Added lock for imap
        searches.

        * Merge from camel-mt-branch.

        * providers/imap/camel-imap-folder.c (imap_update_summary): Merge
        fix, use the folder-&gt;summary.
        (imap_get_message_flags, imap_set_message_flags,
        imap_get_message_user_flag, imap_set_message_user_flag): Removed
        again.
        (camel_imap_folder_init): Setup private data/lock.
        (imap_finalize): Free private data/search lock.
        (imap_search_free): Lock the search_lock.
        (imap_search_by_expression): Lock the search lock when using the
        search object.  Also copy/ref hte summary, rather than getting it
        directly.
        (imap_refresh_info): Free any info lookups.  Use folder-&gt;summary
        not imap_folder-&gt;summary.  And lock around commands.

svn path=/trunk/; revision=7150
</pre>
</div>
</content>
</entry>
<entry>
<title>	added some imap tests, tho they dont get far yet and dont</title>
<updated>2000-12-04T12:59:01+00:00</updated>
<author>
<name>Michael Zucci</name>
<email>zucchi@src.gnome.org</email>
</author>
<published>2000-12-04T12:59:01+00:00</published>
<link rel='alternate' type='text/html' href='https://www.lant.com.tw/~lantw44/cgit/cgit.cgi/gsoc2013-evolution/commit/?id=a2391a3e1120751cf516d245226e30dcff8507b2'/>
<id>a2391a3e1120751cf516d245226e30dcff8507b2</id>
<content type='text'>
	recover automatically.

svn path=/trunk/; revision=6772
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	recover automatically.

svn path=/trunk/; revision=6772
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove assertion that content is there, when it no longer can be.</title>
<updated>2000-11-30T11:05:36+00:00</updated>
<author>
<name>Not Zed</name>
<email>NotZed@HelixCode.com</email>
</author>
<published>2000-11-30T11:05:36+00:00</published>
<link rel='alternate' type='text/html' href='https://www.lant.com.tw/~lantw44/cgit/cgit.cgi/gsoc2013-evolution/commit/?id=1fbfdbd43e88e490ea11d56a3abde4631dab8cb5'/>
<id>1fbfdbd43e88e490ea11d56a3abde4631dab8cb5</id>
<content type='text'>
2000-11-30  Not Zed  &lt;NotZed@HelixCode.com&gt;

	* 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-&gt;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-&gt;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-&gt;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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
2000-11-30  Not Zed  &lt;NotZed@HelixCode.com&gt;

	* 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-&gt;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-&gt;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-&gt;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
</pre>
</div>
</content>
</entry>
<entry>
<title>Add a missed unref.</title>
<updated>2000-11-29T10:49:05+00:00</updated>
<author>
<name>Not Zed</name>
<email>NotZed@HelixCode.com</email>
</author>
<published>2000-11-29T10:49:05+00:00</published>
<link rel='alternate' type='text/html' href='https://www.lant.com.tw/~lantw44/cgit/cgit.cgi/gsoc2013-evolution/commit/?id=d38a417de3a1872b7776f12eeaf7e0bdbab880cc'/>
<id>d38a417de3a1872b7776f12eeaf7e0bdbab880cc</id>
<content type='text'>
2000-11-29  Not Zed  &lt;NotZed@HelixCode.com&gt;

	* tests/message/test2.c (main): Add a missed unref.

	* camel-stream-mem.c (camel_stream_mem_set_buffer): We must set
	ourselves as the owner of the byte-array.
	Weird, someone has modified this file (its been reindented), but i
	can't see any changelogs ...

	* tests/lib/messages.c (content_finalise): Fix memleak in tester,
	free byte array when our content object is deleted.

	* camel-folder-search.c (camel_folder_search_finalize): Yeah
	great, so the sexp is a gtk object, not a camel object.  Isn't
	that going to be fun to fix?

	* camel-session.c (camel_session_finalise): Free the storage path.

	* providers/local/camel-local-store.c (camel_local_store_init): If
	store-&gt;folders is setup, free it first, then overwrite.  Hmm,
	this seems a bit crappy to me.

	* camel-store.c (camel_store_init): Dont setup store-&gt;folders if
	its already setup.

	* camel-exception.c (camel_exception_setv): Removed a memleak.  no
	need to strdup after a strdup_printf!!!

	* camel-address.c (camel_address_finalize): Free the address
	ptrarray, once finished.

	* providers/local/camel-local-folder.c (local_finalize): Make sure
	we dont leave the folder locked on close.
	(local_finalize): Free summary/search.

	* providers/local/camel-mh-summary.c (mh_summary_next_uid_string):
	Small memleak, always free name after using it.

	* camel-mime-part.c (set_content_object): Free txt after setting
	the header.

	* providers/local/camel-maildir-summary.c (maildir_summary_check):
	Fix a memleak, close the dir after scanning new.
	(message_info_free): Added so we can free the filename cached in
	the messageinfo.
	(camel_maildir_summary_finalise): Free the hostname.

	* tests/folder/test[12].c (main): Clear out camel-test before
	starting.

	* providers/local/camel-mbox-summary.c (mbox_summary_sync_quick):
	Because encode_x_evolution folds the line (sigh, because
	encode_param does, unlike every other function in
	camel-mime-utils), unfold the encoded result before comparing.
	(mbox_summary_sync_quick): Another small memleak, free xevnew once
	finished with it.

	* camel-mime-utils.c (header_decode_quoted_string): Removed a
	redundant check for c=0.
	(header_unfold): New function to un-fold headers.

	* providers/local/camel-local-summary.c
	(local_summary_encode_x_evolution): some problems with encoding
	tags, using the wrong output strings.
	(local_summary_encode_x_evolution): We dont need to append a ;
	either, param_list_format_append() will do it for us.
`

svn path=/trunk/; revision=6711
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
2000-11-29  Not Zed  &lt;NotZed@HelixCode.com&gt;

	* tests/message/test2.c (main): Add a missed unref.

	* camel-stream-mem.c (camel_stream_mem_set_buffer): We must set
	ourselves as the owner of the byte-array.
	Weird, someone has modified this file (its been reindented), but i
	can't see any changelogs ...

	* tests/lib/messages.c (content_finalise): Fix memleak in tester,
	free byte array when our content object is deleted.

	* camel-folder-search.c (camel_folder_search_finalize): Yeah
	great, so the sexp is a gtk object, not a camel object.  Isn't
	that going to be fun to fix?

	* camel-session.c (camel_session_finalise): Free the storage path.

	* providers/local/camel-local-store.c (camel_local_store_init): If
	store-&gt;folders is setup, free it first, then overwrite.  Hmm,
	this seems a bit crappy to me.

	* camel-store.c (camel_store_init): Dont setup store-&gt;folders if
	its already setup.

	* camel-exception.c (camel_exception_setv): Removed a memleak.  no
	need to strdup after a strdup_printf!!!

	* camel-address.c (camel_address_finalize): Free the address
	ptrarray, once finished.

	* providers/local/camel-local-folder.c (local_finalize): Make sure
	we dont leave the folder locked on close.
	(local_finalize): Free summary/search.

	* providers/local/camel-mh-summary.c (mh_summary_next_uid_string):
	Small memleak, always free name after using it.

	* camel-mime-part.c (set_content_object): Free txt after setting
	the header.

	* providers/local/camel-maildir-summary.c (maildir_summary_check):
	Fix a memleak, close the dir after scanning new.
	(message_info_free): Added so we can free the filename cached in
	the messageinfo.
	(camel_maildir_summary_finalise): Free the hostname.

	* tests/folder/test[12].c (main): Clear out camel-test before
	starting.

	* providers/local/camel-mbox-summary.c (mbox_summary_sync_quick):
	Because encode_x_evolution folds the line (sigh, because
	encode_param does, unlike every other function in
	camel-mime-utils), unfold the encoded result before comparing.
	(mbox_summary_sync_quick): Another small memleak, free xevnew once
	finished with it.

	* camel-mime-utils.c (header_decode_quoted_string): Removed a
	redundant check for c=0.
	(header_unfold): New function to un-fold headers.

	* providers/local/camel-local-summary.c
	(local_summary_encode_x_evolution): some problems with encoding
	tags, using the wrong output strings.
	(local_summary_encode_x_evolution): We dont need to append a ;
	either, param_list_format_append() will do it for us.
`

svn path=/trunk/; revision=6711
</pre>
</div>
</content>
</entry>
</feed>
