aboutsummaryrefslogtreecommitdiffstats
path: root/camel/gmime-utils.c
Commit message (Collapse)AuthorAgeFilesLines
* revert strange changes.bertrand2000-02-291-2/+3
| | | | | | | | | | | | | 2000-02-29 bertrand <bertrand@helixcode.com> * gmime-utils.c (_store_header_pair_from_string): revert strange changes. * camel-stream-b64.c (my_read_decode): set eos to true when we have read the whole input stream. (my_reset): set eos to FALSE. svn path=/trunk/; revision=1988
* Fix a bunch of serious small bugs.NotZed2000-02-291-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-02-28 NotZed <NotZed@HelixCode.com> * camel-mime-part.c (_parse_header_pair): Dont free this either. * camel-medium.c (_remove_header): Ugh, dont free the header before we actually remove it. (_add_header): Ugh, dont free hashtable entries which may be duplicated (hash_insert _will_ reference that memory). * string-utils.c (string_trim): Trimming a 0-length string is not an error. * camel-mime-message.c (_parse_header_pair): Fixed very broken memory handling of header_name/value. * providers/mbox/camel-mbox-utils.c (camel_mbox_write_xev): Initialise end_of_last_message always. (camel_mbox_copy_file_chunk): Stop trying to read if we run out of data, rather than looping forever. * providers/mbox/camel-mbox-folder.c (_init): Set search cap on. (_open): Call parent class to perform open. Remove folder-open check to parent instead. (_create): open takes a creation mask, dont use umask to try and set the open mode. (_delete): Dont bother checking folder==NULL, its already been checked on the external interface (changed to an assertion, this would have to be a camel bug). (_delete_messages): Likewise. (_create): Ditto. (_init): Dont go and clear all the paths and shit that the parent open just setup for us. (_delete_messages): Get rid of more umask stuff. (_append_message): Make sure we pass file mode to open with create. (_append_message): Cleaned up some indenting to make it readable. svn path=/trunk/; revision=1985
* use the eos stream method. (gmime_read_line_from_stream): ditto.bertrand2000-02-151-2/+3
| | | | | | | | | | | | | | | | | | | | | | | 2000-02-14 bertrand <Bertrand.Guiheneuf@aful.org> * camel/gmime-utils.c (get_header_array_from_stream): use the eos stream method. (gmime_read_line_from_stream): ditto. * camel/camel-stream-fs.h (struct ): add the eof field cosmetics changes. * camel/camel-stream-fs.c (camel_stream_fs_init): set eof. (_read): set eof on end of file. (_eos): implemented. * camel/gmime-utils.c (get_header_array_from_stream): make a blocking version of the header parser. When the fs stream uses gnome-vfs, this should be changed. (gmime_read_line_from_stream): ditto. svn path=/trunk/; revision=1779
* make a blocking version of the header parser. When the fs stream usesbertrand2000-02-151-8/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-02-14 bertrand <Bertrand.Guiheneuf@aful.org> * camel/gmime-utils.c (get_header_array_from_stream): make a blocking version of the header parser. When the fs stream uses gnome-vfs, this should be changed. (gmime_read_line_from_stream): ditto. 2000-02-11 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-stream-fs.c: everywhere, when using the cur_pos field, do it on the CamelSeekableStream object. (_seek): small fix. * camel/camel-seekable-stream.c (camel_seekable_stream_seek): s/camel_stream_seek/camel_seekable_stream_seek/g * camel/camel-seekable-stream.h: (struct ): added a field to store the current position. * camel/camel-seekable-stream.c (camel_seekable_stream_get_current_position): New function. Allows to get the current position of a seekable stream. In fact much more changes, but I am lazy. This is the begining of some major changes in camel. svn path=/trunk/; revision=1778
* various typo fixes in the ctree construction.bertrand2000-02-101-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-02-09 bertrand <Bertrand.Guiheneuf@aful.org> * tests/ui-tests/message-browser.c: various typo fixes in the ctree construction. * camel/string-utils.c (string_trim): fix braindead trailing trim bug. * camel/gmime-content-field.c (gmime_content_field_construct_from_string): strip the leading and trailing quotes when constructing the content field. This should be done in a more generic RFC822 approach, but this fixes a bug that prevent matt from analysing some multipart messages. * camel/camel-data-wrapper.h: reorganize the deprecated and new methods. * camel/providers/mbox/camel-mbox-folder.c (_check_get_or_maybe_generate_summary_file): Use "From " as the message separating string. * camel/providers/mbox/camel-mbox-folder.c (_append_message): set the mode when creating the mbox file. * camel/providers/mbox/camel-mbox-utils.c (camel_mbox_write_xev): ditto * camel/providers/mbox/camel-mbox-summary.c (camel_mbox_save_summary): ditto svn path=/trunk/; revision=1711
* add recipient_list to the recipients, not recipients_list. I don't knowbertrand2000-01-241-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-01-24 bertrand <bertrand@helixcode.com> * camel/camel-recipient.c (camel_recipient_table_add_list): add recipient_list to the recipients, not recipients_list. I don't know what that variable was doing here. 2000-01-23 bertrand <bertrand@helixcode.com> * camel/camel-store.c (camel_store_get_session): added a public get_session method. * camel/providers/mbox/camel-mbox-summary.c (camel_mbox_save_summary): (camel_mbox_load_summary): load/save message sizes in the summary file * camel/providers/mbox/camel-mbox-summary.h: added a size field to the message information structure. * camel/providers/mbox/camel-mbox-utils.c (parsed_information_to_mbox_summary): copy message size to the mbox summary information too. * camel/camel-stream-fs.c (_seek): updated to work with bounded fs streams. (_write): ditto. (_read): ditto. * camel/camel-stream-fs.h (struct ): added the cur_pos, inf_bound and sup_bound members to allow for bounded fs stream. * camel/camel-stream-fs.c (_set_bounds): new func. (_init_with_fd_and_bounds): idem. (_init_with_name_and_bounds): idem. New functions to allow the usage of bounded fs streams. The bounded fs stream allow, for example, to make a stream from a message stored in an mbox file. svn path=/trunk/; revision=1620
* Updated my e-mail address to reflect my new employmentBertrand Guiheneuf2000-01-041-1/+1
| | | | svn path=/trunk/; revision=1533
* Fix copyright informations once againBertrand Guiheneuf1999-12-151-1/+1
| | | | svn path=/trunk/; revision=1489
* Copyright changeBertrand Guiheneuf1999-10-231-1/+4
| | | | svn path=/trunk/; revision=1348
* changed decl to fit CRLFunc. (_write_recipients_to_stream): callsbertrand1999-09-021-2/+5
| | | | | | | | | | | | | | | | | | | 1999-09-02 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-mime-message.c (_write_one_recipient_to_stream): changed decl to fit CRLFunc. (_write_recipients_to_stream): calls camel_recipient_foreach_recipient_type now. * camel/camel-recipient.c (camel_recipient_foreach_recipient_type): new convinience function. Iterate over all recipient types. * camel/gmime-utils.c (gmime_write_header_table_to_stream): s/write_header_table_to_stream/gmime_write_header_table_to_stream/ (gmime_write_header_with_glist_to_stream): s/write_header_with_glist_to_stream/gmime_write_header_with_glist_to_stream/ svn path=/trunk/; revision=1167
* Address updateBertrand Guiheneuf1999-08-301-1/+1
| | | | svn path=/trunk/; revision=1147
* new file, groups mime-part related utils. Meant to be used by providersbertrand1999-08-261-19/+26
| | | | | | | | | | | | | | | | | | | | | | | | 1999-08-26 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-mime-part-utils.c: new file, groups mime-part related utils. Meant to be used by providers subclassing MimeMessage. (camel_mime_part_construct_headers_from_stream): (camel_mime_part_construct_content_from_stream): no more useless temporary hash table. * camel/camel-mime-part.c (_construct_from_stream): calls mime-part-utils functions now. * camel/gmime-utils.c (_store_header_pair_from_string): do not use hash table to store header, use an array instead. * MimePart cleanup. Not complete yet. Content must not be parsed when constructing but only when content object is requested. Default implementation will keep content in a stream. svn path=/trunk/; revision=1144
* return the number of bytes read. How can this have ever worked ?bertrand1999-08-181-7/+16
| | | | | | | | | | | | | | | | 1999-08-17 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-stream.c (camel_stream_read): return the number of bytes read. How can this have ever worked ? (camel_stream_flush): don't return anything. * camel/gmime-utils.c (get_header_table_from_stream): mem leak fixed. + various other mem leaks. svn path=/trunk/; revision=1120
* There is a probleme here. We can not allow mime part content-type fieldBertrand Guiheneuf1999-08-031-9/+5
| | | | | | | | | | | | | | | | | | * camel/camel-mime-part.c (_set_content_object): There is a probleme here. We can not allow mime part content-type field and content_object mime-type to be different. I thus chosed to set mime part object content field to be freed (if necessary) and set to be a pointer to content_object mime type field. (_construct_from_stream): set content_object mime type to be the same as mime_part's one. This is necessary because we use _set_content_type. This two things are a bit hackish ansd may need to be redesigned. svn path=/trunk/; revision=1071
* Multipart Mime message parsing works with plain text parts. Woohooo :))))bertrand1999-08-031-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Making it work with other types is now just a matter of writing the various data wrappers. And display them will just be a matter of writing the good bonobo components. 1999-08-03 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-simple-data-wrapper.c (_construct_from_stream): more debugging output + nb_bytes_read is now a signed int to avoid bug when eos is encountered. * camel/camel-mime-part.c (_construct_from_stream): sync to data_wrapper_repository function name changes. Use default "text/plain" type when conten-type field is not found. (following RFC 2046 spec). * camel/data-wrapper-repository.c (data_wrapper_repository_set_data_wrapper_type): (data_wrapper_repository_get_data_wrapper_type): change function name prefix (s/data_wrapper/data_wrapper_repository/) * camel/camel-multipart.c (_read_part): add `\n` at eol but not before boundary. * camel/gmime-utils.c (get_header_table_from_stream): correct implementation of end of stream detection. svn path=/trunk/; revision=1070
* Anther syncBertrand Guiheneuf1999-08-031-1/+2
| | | | svn path=/trunk/; revision=1068
* sync before going homeBertrand Guiheneuf1999-08-021-25/+30
| | | | svn path=/trunk/; revision=1064
* do not return NULL when line is empty.Bertrand Guiheneuf1999-08-021-1/+1
| | | | | | | | | | * camel/gmime-utils.c (gmime_read_line_from_stream): do not return NULL when line is empty. * camel/camel-multipart.c (_read_part): return true when end of multipart is found, not the contrary svn path=/trunk/; revision=1055
* merge a lot of work. Rough ChangeLog will followBertrand Guiheneuf1999-08-011-43/+92
| | | | svn path=/trunk/; revision=1052
* Implemented base64 encoder based on CamelStreams. Should theMiguel de Icaza1999-07-151-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1999-07-13 Miguel de Icaza <miguel@gnu.org> * camel/gmime-base64.c (gmime_encode_base64): Implemented base64 encoder based on CamelStreams. Should the encoder/decoder be a Stream itself? * camel/gmime-utils.c: include config.h here. * camel/url-util.c: ditto. * camel/gstring-util.c: ditto. * camel/gmime-content-field.c: ditto. * camel/camel-stream.c: ditto. * camel/camel-stream-fs.c: ditto. * camel/camel-store.c: ditto. * camel/camel-simple-data-wrapper.c: ditto. * camel/camel-session.c: ditto. * camel/camel-service.c: ditto. * camel/camel-mime-part.c: ditto. * camel/camel-mime-message.c: ditto. * camel/camel-log.c: ditto. * camel/camel-data-wrapper.c: ditto * camel/camel-folder.c: ditto. * camel/camel-stream.c (camel_stream_write): Moved api documentation to the places that they document. (camel_stream_class_init): Virtual classes do not need to have a default implementation. So null them all. (camel_stream_write): Return value from write. (camel_stream_available): implement. (camel_stream_write_strings): documented. * devel-docs/query/virtual-folder-in-depth.sgml: Small reformatting 1999-06-28 bertrand <Bertrand.Guiheneuf@inria.fr> * tests/test2.c (main): now use CamelDataWrapper::contruct_form_stream to test svn path=/trunk/; revision=1024
* moved all the content-type stuff here. (camel_data_wrapper_init):bertrand1999-06-231-2/+2
| | | | | | | | | | | | | | | | 1999-06-22 bertrand <Bertrand.Guiheneuf@inria.fr> * camel/camel-data-wrapper.c (_get_content_type): moved all the content-type stuff here. (camel_data_wrapper_init): initialize the instance content-type field. * camel/camel-mime-part.c (_parse_header_pair): parse Content-Type stuff in header. (_write_to_stream): write the content type stuff to the stream. svn path=/trunk/; revision=985
* syncBertrand Guiheneuf1999-06-221-58/+6
| | | | svn path=/trunk/; revision=983
* Commit of all Netherlands changes.Bertrand Guiheneuf1999-06-191-5/+4
| | | | | | | | All mime stuff uses streams now, and it still works. Bertrand svn path=/trunk/; revision=981
* tmp sync. Does ot even compileBertrand Guiheneuf1999-06-141-13/+27
| | | | svn path=/trunk/; revision=978
* use new stream code instead of raw file * stuff.bertrand1999-05-311-5/+5
| | | | | | | | | | | | | | | | | | 1999-05-31 bertrand <Bertrand.Guiheneuf@inria.fr> * tests/test2.c (main): use new stream code instead of raw file * stuff. * camel/gmime-utils.c (get_header_table_from_stream): new func. Will replace get_header_table_from_file and will be used to parse headers from files as well as from memory buffers. * camel/camel-stream-fs.c: CamelStream Subclass. File system based stream. svn path=/trunk/; revision=961
* syncBertrand Guiheneuf1999-05-301-0/+57
| | | | svn path=/trunk/; revision=959
* remove leading and trailing spaces in recipient addresses.Bertrand Guiheneuf1999-05-301-3/+4
| | | | | | | | | | | | | | | | | * camel/camel-mime-message.c (_set_recipient_list_from_string): remove leading and trailing spaces in recipient addresses. * camel/gmime-utils.c (_store_header_pair_from_gstring): remove leading and trailing spaces from header values. * camel/gstring-util.c (g_string_trim): new func: remove leading or trailng chars from a specified char set. (g_string_split): allow trimming of substrings. * tests/test1.c (main): remove gtk_main call svn path=/trunk/; revision=958
* syncBertrand Guiheneuf1999-05-281-7/+30
| | | | svn path=/trunk/; revision=949
* new func. Parses message header zone and returns a Glist of all headerbertrand1999-05-271-1/+114
| | | | | | | | | | | | | | | 1999-05-26 bertrand <Bertrand.Guiheneuf@inria.fr> * camel/gmime-utils.c (get_header_lines_from_file): new func. Parses message header zone and returns a Glist of all header lines. * tests/test2.c: tests message parsing * camel/gmime-utils.c (write_header_table_to_file): new func to write a table of headers. svn path=/trunk/; revision=948
* disposition is now a full GMimeContentField object.Bertrand Guiheneuf1999-05-131-2/+2
| | | | | | | | | | | | | | | | | | | * camel/camel-mime-part.h (struct ): disposition is now a full GMimeContentField object. * camel/gmime-content-field.c: new file handle "type/subtype ;parameter=value ; parameter=value ..." BNF grammar elements (gmime_content_field_write_to_file): new func * camel/gmime-utils.c (gmime_write_header_pair_to_file): namespace change Some work on mime stuff. Mime part can save itself into a file. This stuff is boring. svn path=/trunk/; revision=921
* mime utils namespace changeBertrand Guiheneuf1999-05-121-0/+36
svn path=/trunk/; revision=920