aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-search-private.h
Commit message (Collapse)AuthorAgeFilesLines
* When doing a contains match, split the words and perform an and on it.Not Zed2002-04-181-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-04-18 Not Zed <NotZed@Ximian.com> * camel-folder-search.c (check_header): When doing a contains match, split the words and perform an and on it. (match_words_messages): If we have an index, but were forced to do a full search, first lookup a subset of messages using the index and a simplified word set. Only do a manual search of this subset. 2002-04-17 Not Zed <NotZed@Ximian.com> * camel-folder-search.c (match_message_index): Changed to take a utf8 string not a regex pattern. (match_words_index): Matches against a camel_search_words list. (match_words_1message): Matches a single message against a camel_search_words list. (match_words_message): Same, but gets the message from the folder for you. (match_words_messages): Matches a list of messages against a words list. (search_body_contains): Rewritten to handle multiple word searches. For #23371. * providers/imap/camel-imap-search.c (sync_match): Split words when searching, to support multiple search words. Also, try searching specifying charset of utf8 if we can, if that fails, fall back to not specifying charset. TODO: It should translate the strings into the locale default charset? * providers/imap/camel-imap-store.c (connect_to_server): Added new cap - utf8_search, if set, we tell the server we're searching using utf8, otherwise we dont (incorrectly, since we always use utf8 to search). * camel-search-private.c (camel_ustrstrcase): Make this class public. (camel_search_words_split): Split a word into multiple words based on whitespace, and keep track of whether the word is simple (indexable directly), or not. (camel_search_words_free): Free 'em. svn path=/trunk/; revision=16501
* More fixing of the license texts.Ettore Perazzoli2001-10-281-11/+11
| | | | svn path=/trunk/; revision=14217
* Use search_type_mlist for mailing list searches.Michael Zucci2001-10-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * camel-filter-search.c, camel-folder-search.c (check_header): Use search_type_mlist for mailing list searches. * camel.c (camel_init): call camel-mime-utils-init func. * camel-mime-utils.c: Changed mail mail_list_magic to include a domain part, also pre-compile all the patterns. They are all backward compatible except List-Id: which now uses the mail-address-like <list-name.host.name> part rather than the plain-text part (which might've been blank anyway). (camel_mime_utils_init): Initialisation function to setup any static data required by camel-mime-utils at run-time. We now setup the base64/charset class tables here, so it doesn't need to be done statically. (camel_mime_special_table, camel_mime_base64_rank): No longer statically initialise these. (main): Removed + the tests at the end of the file. (header_raw_check_mailing_list): Dont compile regex's here, already compiled in utils_init. Use the regex patterns to remove leading <'s from addresses. Also, if there is a domain part matched, add that after a '@' is added. camel-search-private.c: (camel_search_header_match): Added SEARCH_TYPE_MLIST for mlist search types. It ignores the domain part if either (but not both) of the values dont have it. svn path=/trunk/; revision=13894
* Added MATCH_NEWLINE flag, -> REG_NEWLINE.32001-10-041-0/+1
| | | | | | | | | | | | | | | | | | 2001-10-03 <NotZed@Ximian.com> * camel-search-private.c (camel_search_build_match_regex): Added MATCH_NEWLINE flag, -> REG_NEWLINE. * camel-lock-helper.c: Include <string.h> to kill some warnings. * camel-filter-search.c (get_full_header): Put \n's between each line we generate. (header_full_regex): Dont drop the first argument to the command -> empty matches! (header_full_regex): Set match_newline for building regex. (body_regex): And here too. These all fix #9877. svn path=/trunk/; revision=13392
* If the type is encoded, get the fallback charset from the message42001-09-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-24 <NotZed@Ximian.com> * camel-filter-search.c (check_header): If the type is encoded, get the fallback charset from the message content-type. * camel-mime-part-utils.c (check_html_charset): Dont check for charset==null before calling charset_to_iconv. (simple_data_wrapper_construct_from_parser): " * camel-mime-message.c (process_header): Try use content-type charset param as the fallback charset. * camel-charset-map.c (camel_charset_to_iconv): Handle name == NULL, return NULL. * camel-folder-summary.c (camel_folder_summary_format_address): (camel_folder_summary_format_string): Made private again, removed #warning about it. Renamed to s/camel_folder//. (summary_format_string): Take default charset param. (camel_message_info_new_from_header, message_info_new): Decode content-type field to get the charset parameter to use as the default charset for decoding strings. * camel-search-private.c (camel_search_header_match): Pass NULL as the charset, the locale charset is always tried. (camel_search_header_match): Supply a default_charset parameter to be used with TYPE_ENCODED params. * camel-mime-utils.c (header_param): get rid of the g_strcasecmp crap. (header_set_param): Same here. (header_decode_param_list): And here. (header_decode_text): Totally rewritten. 30% of its size. If the word is not rfc2047 encoded, always try default_charset if supplied, if that fails, try locale charset if it exists, if that fails then assume latin1/7 bit ascii. (append_8bit): Changed to return FALSE if we can't convert for whatever reason, and dont append anything. * camel-mime-part.h (struct _CamelMimePart): Move content_type and headers out of the 'private' section. * camel-mime-part.c (get_headers): Dont do any conversion on the header. (process_header): Get the content-type charset as the fallback charset for decode_string. (construct_from_parser): IF we have a content-type header, process it before doing anything else, so we have access to a fallback charset for invalid headers. svn path=/trunk/; revision=13096
* Properly determine match type to pass to header_match.Not Zed2001-08-081-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-08-08 Not Zed <NotZed@Ximian.com> * camel-filter-search.c (check_header): Properly determine match type to pass to header_match. (address_matches_exactly): Removed, effectively added to camel_search_header_match. * camel-folder-search.c (check_header): Properly determine the match type to pass to header_match. * camel-search-private.c (camel_search_header_match): Add a new parameter 'type' which is the type of header we're matching against. ASIS means utf8 format, ADDRESS means an internet address ('formatted'), ADDRESS_ENCODED means a raw address header, ENCODED means rfc 2047 encoded text. (header_match): Move original logic here, have search_header_match call it as appropriate for the 'type' of match. 2001-08-07 Not Zed <NotZed@Ximian.com> * camel-session.c (camel_session_class_init): Only init the vee provider struct once (if we're subclassed this will get called multiple times). * camel-object.c (obj_finalize): Removed a bit of a debug that crept in with jacob's poolv patch (?). svn path=/trunk/; revision=11772
* Update the copyrights, replacing Helix Code with Ximian andEttore Perazzoli2001-06-231-1/+1
| | | | | | helixcode.com with ximian.com all over the place. svn path=/trunk/; revision=10440
* Oops.Michael Zucci2001-01-251-0/+46
svn path=/trunk/; revision=7801