Michael Zucci [Fri, 19 Oct 2001 07:03:50 +0000 (07:03 +0000)]
Typo, srlen aint right.
Michael Zucci [Fri, 19 Oct 2001 06:39:54 +0000 (06:39 +0000)]
camel-vee-folder.c: (folder_changed_change_uid): Use alloca for vuid, and
camel-vee-folder.c:
(folder_changed_change_uid): Use alloca for vuid, and not
sprintf(".lengths")
(vee_search_by_expression): Dont use sprintf for vuid.
(vee_search_by_uids): "
(vee_folder_add_info): "
(folder_changed_remove_uid): "
(folder_changed_change): "
(folder_changed_change_uid): Also check folder_unmatched for
changed uid's so we properly update/propagate unmatched changes.
9 [Fri, 19 Oct 2001 05:33:21 +0000 (05:33 +0000)]
Lock the right lock for unmatched subfolder list stuff. If the sub folder
2001-10-19 <NotZed@Ximian.com>
* camel-vee-folder.c (camel_vee_folder_remove_folder): Lock the
right lock for unmatched subfolder list stuff. If the sub folder
is deleted & part of unmatched, or the last ref to the sub folder
is gone from unmatched, blow it away completely from unmatched,
but only do it once.
(vee_folder_remove_folder): Added arg to kill unmatched
unconditionally. Also handle deleted folders, always remove
stuff.
(folder_changed_change): Lock subfolder lock for entirety of
operation, and also check to see if the subfolder is still there
before doing any fancy work (incase it got removed while we were
waiting to execute).
* camel-store.c (camel_store_unsubscribe_folder): If we are
unsubscribing from a folder we have loaded, set the folder
deleted, as with the delete_folder case.
Jeffrey Stedfast [Fri, 19 Oct 2001 02:34:13 +0000 (02:34 +0000)]
If a charset isn't specified or claims to be utf-8, check the validity of
2001-10-18 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-part-utils.c
(simple_data_wrapper_construct_from_parser): If a charset isn't
specified or claims to be utf-8, check the validity of the text
and if it's invalid, set the rawtext bit to TRUE. If the charset
is x-unknown or some other x- charset, always set the rawtext bit
to TRUE.
8 [Fri, 19 Oct 2001 01:54:42 +0000 (01:54 +0000)]
Added CAMEL_CFLAGS so we get the right iconv stuff, patch from Yanko
2001-10-18 <NotZed@Ximian.com>
* providers/(imap|local|pop3|sendmail|smtp)/Makefile.am: Added
CAMEL_CFLAGS so we get the right iconv stuff, patch from Yanko
Kaneti <yaneti@declera.com>
Jeffrey Stedfast [Fri, 19 Oct 2001 00:30:36 +0000 (00:30 +0000)]
Make sure the cancel_fd isn't -1.
2001-10-18 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-context.c (crypto_exec_with_passwd): Make sure the
cancel_fd isn't -1.
Jeffrey Stedfast [Thu, 18 Oct 2001 23:15:34 +0000 (23:15 +0000)]
Flush the stream here, not sure it really matters but it might (hopefully)
2001-10-18 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-message-cache.c (insert_finish): Flush
the stream here, not sure it really matters but it might
(hopefully) fix bug #12943.
Jeffrey Stedfast [Thu, 18 Oct 2001 22:48:26 +0000 (22:48 +0000)]
Make user-cancellable.
2001-10-18 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-context.c (crypto_exec_with_passwd): Make
user-cancellable.
Jeffrey Stedfast [Thu, 18 Oct 2001 22:26:06 +0000 (22:26 +0000)]
String cleanup for bug #6640.
2001-10-18 Jeffrey Stedfast <fejj@ximian.com>
* providers/local/camel-local-provider.c: String cleanup for bug
#6640.
Jeffrey Stedfast [Thu, 18 Oct 2001 20:38:45 +0000 (20:38 +0000)]
Fix my Cyrus imapd workaround...instead of checking to see if info->flags
2001-10-18 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (imap_sync_online): Fix my
Cyrus imapd workaround...instead of checking to see if info->flags
== FLAGGED, just check to see if it contains any IMAP flags.
7 [Wed, 17 Oct 2001 22:59:15 +0000 (22:59 +0000)]
Use '.' as the inbox name for filter new messages test.
2001-10-17 <NotZed@Ximian.com>
* providers/local/camel-maildir-folder.c
(camel_maildir_folder_new): Use '.' as the inbox name for filter
new messages test.
7 [Wed, 17 Oct 2001 22:44:27 +0000 (22:44 +0000)]
New function to clone a folderinfo tree.
2001-10-17 <NotZed@Ximian.com>
* camel-store.c (camel_folder_info_clone): New function to clone a
folderinfo tree.
Jeffrey Stedfast [Wed, 17 Oct 2001 22:23:29 +0000 (22:23 +0000)]
Same as maildir and mbox append-message.
2001-10-17 Jeffrey Stedfast <fejj@ximian.com>
* providers/local/camel-mh-folder.c (mh_append_message): Same as
maildir and mbox append-message.
* providers/local/camel-maildir-folder.c (maildir_append_message):
Same as mbox append.
* camel-exception.c (camel_exception_set): Make sure the new
description isn't the same as the old description pointer before
freeing the old one.
(camel_exception_setv): Don't free the old description until we
set the new one this way we can reuse the old description in the
new description.
* providers/local/camel-mbox-folder.c (mbox_append_message): If
errno == EINTR, then we got a user-cancel so set the exception
appropriately so that we don't make the user shit his pants.
Jeffrey Stedfast [Wed, 17 Oct 2001 22:16:46 +0000 (22:16 +0000)]
Make sure the new description isn't the same as the old description
2001-10-17 Jeffrey Stedfast <fejj@ximian.com>
* camel-exception.c (camel_exception_set): Make sure the new
description isn't the same as the old description pointer before
freeing the old one.
(camel_exception_setv): Don't free the old description until we
set the new one this way we can reuse the old description in the
new description.
* providers/local/camel-mbox-folder.c (mbox_append_message): If
errno == EINTR, then we got a user-cancel so set the exception
appropriately so that we don't make the user shit his pants.
Jeffrey Stedfast [Wed, 17 Oct 2001 21:33:41 +0000 (21:33 +0000)]
Add an optimization for when destination folder is the same as the source
2001-10-17 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-driver.c (do_copy): Add an optimization for when
destination folder is the same as the source folder.
7 [Wed, 17 Oct 2001 20:38:15 +0000 (20:38 +0000)]
Patch from Danw, Use unread count of -1 to mark unflagged messages. Make
2001-10-17 <NotZed@Ximian.com>
* providers/imap/camel-imap-store.c (get_folder_info_online):
(parse_list_response_as_folder_info): Patch from Danw, Use unread
count of -1 to mark unflagged messages. Make sure any folder we
dont lookup explicitly is marked as -1. Should fix #9947 and
friends.
* providers/local/camel-mbox-summary.c (mbox_summary_sync): Only
touch the summary if the timestamp or size changed.
Jeffrey Stedfast [Wed, 17 Oct 2001 20:23:42 +0000 (20:23 +0000)]
Set the DELETED flag on directly on the info if the source folder doesn't
2001-10-17 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-driver.c (camel_filter_driver_filter_message): Set
the DELETED flag on directly on the info if the source folder
doesn't have summary capability.
Not Zed [Wed, 17 Oct 2001 04:09:17 +0000 (04:09 +0000)]
As below.
2001-10-17 Not Zed <NotZed@Ximian.com>
* camel-tcp-stream-raw.c (stream_write): As below.
* camel-stream-fs.c (stream_write): If not checking cancellation,
make sure we write out everything asked of us.
Jeffrey Stedfast [Wed, 17 Oct 2001 00:12:33 +0000 (00:12 +0000)]
Rearange the order of the gpg options slightly otherwise it might try to
2001-10-16 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-context.c (pgp_verify): Rearange the order of the gpg
options slightly otherwise it might try to use "--no-tty" as the
filename to verify :-)
Jeffrey Stedfast [Tue, 16 Oct 2001 21:47:34 +0000 (21:47 +0000)]
If CAMEL_DEBUG is defined, print some useful ref/unref info.
2001-10-16 Jeffrey Stedfast <fejj@ximian.com>
* camel-object.[c,h]: If CAMEL_DEBUG is defined, print some useful
ref/unref info.
* providers/imap/camel-imap-store.c (delete_folder): Fixed an
assignment warning.
* camel-uid-cache.c (camel_uid_cache_new): Make sure that the
parent directory exists before trying to open the filename, if it
doesn't, create it.
6 [Tue, 16 Oct 2001 20:35:49 +0000 (20:35 +0000)]
If no content, dont try and decode further and spit meaningless warnings.
2001-10-16 <NotZed@Ximian.com>
* camel-mime-utils.c (header_address_decode): If no content, dont
try and decode further and spit meaningless warnings.
Jeffrey Stedfast [Tue, 16 Oct 2001 19:03:16 +0000 (19:03 +0000)]
Only perform the operation on the folder if the folder has summary
2001-10-16 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-driver.c (do_flag): Only perform the operation on
the folder if the folder has summary capability, else just poke
the info directly. Fixes the "Filters don't work" bug.
(do_score): Same.
(do_colour): And here too.
Jeffrey Stedfast [Mon, 15 Oct 2001 22:10:19 +0000 (22:10 +0000)]
Save the errno before calling fcntl so fcntl doesn't overwrite errno in
2001-10-15 Jeffrey Stedfast <fejj@ximian.com>
* camel-stream-fs.c (stream_read): Save the errno before calling
fcntl so fcntl doesn't overwrite errno in case of a previous
error.
(stream_write): Same.
Jeffrey Stedfast [Sat, 13 Oct 2001 18:21:31 +0000 (18:21 +0000)]
Replace the Bcc headers in a single location and don't flush the data
2001-10-13 Jeffrey Stedfast <fejj@ximian.com>
* providers/smtp/camel-smtp-transport.c (smtp_data): Replace the
Bcc headers in a single location and don't flush the data unless
the write was successful.
Jeffrey Stedfast [Fri, 12 Oct 2001 23:09:34 +0000 (23:09 +0000)]
oops, it should remove the bcc header, not the cc header
Jeffrey Stedfast [Fri, 12 Oct 2001 22:45:10 +0000 (22:45 +0000)]
Remove the stripheader filter from the build.
2001-10-12 Jeffrey Stedfast <fejj@ximian.com>
* Makefile.am: Remove the stripheader filter from the build.
* camel-mime-filter-stripheader.[c,h]: Removed.
* providers/smtp/camel-smtp-transport.c (smtp_data): Check the
return value of camel_stream_flush to make sure it flushed the
data successfully before continuing. Don't use the stripheader
filter, it was completely broken - instead remove the header and
set it again after we send.
2 [Fri, 12 Oct 2001 22:27:56 +0000 (22:27 +0000)]
Unhook from all events before removing folder.
2001-10-12 <NotZed@Ximian.com>
* camel-vee-folder.c (camel_vee_folder_remove_folder): Unhook from
all events before removing folder.
(camel_vee_folder_add_folder): Hook onto delete event.
(camel_vee_folder_finalise): Unhook from deleted event for suibfolder.
(subfolder_deleted): When the folder is deleted, remove it from
the vfolder automagically.
Chris Toshok [Fri, 12 Oct 2001 22:19:34 +0000 (22:19 +0000)]
new parameter to e_passwords_init, and add prototype for
2001-10-12 Chris Toshok <toshok@ximian.com>
* e-passwords.h: new parameter to e_passwords_init, and add
prototype for e_passwords_clear_component_passwords.
* e-passwords.c (e_passwords_init): copy off the component name.
(e_passwords_shutdown): free/NULL the component name.
(e_passwords_clear_component_passwords): new function. remove the
subtree rooted at /Passwords/<ComponentName>.
(e_passwords_remember_password): use component_name when building
up the path.
(e_passwords_get_password): same.
(e_passwords_add_password): remove/free the currently stored
session password for this key if there is one, before adding the
new one.
Chris Toshok [Fri, 12 Oct 2001 02:01:38 +0000 (02:01 +0000)]
change prototype for e_passwords_get_password.
2001-10-11 Chris Toshok <toshok@ximian.com>
* e-passwords.h: change prototype for e_passwords_get_password.
* e-passwords.c (e_passwords_get_password): remove 'const' from
return type - the return type is now allocated and must be freed
by the caller.
1 [Thu, 11 Oct 2001 23:39:08 +0000 (23:39 +0000)]
convert the uids list to a subset appropriate for each subfolder before
2001-10-11 <NotZed@Ximian.com>
* camel-vee-folder.c (vee_search_by_uids): convert the uids list
to a subset appropriate for each subfolder before trying to search
on it.
1 [Thu, 11 Oct 2001 22:08:20 +0000 (22:08 +0000)]
Removed charset/locale charset lookup and iconv_open/close functions,
2001-10-11 <NotZed@Ximian.com>
* camel-charset-map.[ch]: Removed charset/locale charset lookup
and iconv_open/close functions, moved to gal. Fixed all callers.
Jeffrey Stedfast [Thu, 11 Oct 2001 21:57:20 +0000 (21:57 +0000)]
Same.
2001-10-11 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (ssl_cert_is_saved): Same.
* camel-tcp-stream-openssl.c (ssl_cert_is_saved): Instead of
opening the file, stat it and make sure that it belongs to us.
Chris Toshok [Thu, 11 Oct 2001 20:13:23 +0000 (20:13 +0000)]
open the bonobo config db for our passwords. (e_passwords_shutdown): sync
2001-10-11 Chris Toshok <toshok@ximian.com>
* e-passwords.c (e_passwords_init): open the bonobo config db for
our passwords.
(e_passwords_shutdown): sync and unref the bonobo db, and clear
out the per session hash.
(e_passwords_forget_passwords): remove the bonobo config db
/Passwords path, and free up the session hash (but don't destroy
it).
(e_passwords_remember_password): remove the key/value from the
session hash, after inserting it into the bonobo db.
(e_passwords_get_password): look up a session password for the
uri, and if it's not there, consult the bonobo db.
(e_passwords_ask_password): quiet gcc's warnings, and only consult
the toggle button state if we actaully created it.
Jeffrey Stedfast [Wed, 10 Oct 2001 22:13:05 +0000 (22:13 +0000)]
Same hack as below.
2001-10-10 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-openssl.c (ssl_verify): Same hack as below.
* camel-tcp-stream-ssl.c (ssl_bad_cert): Hack around the fact that
adding a cert to nss's certdb seems to not work.
0 [Wed, 10 Oct 2001 21:50:42 +0000 (21:50 +0000)]
Only re-build the folder if we're expunging. Also only clear out the
2001-10-10 <NotZed@Ximian.com>
* camel-vee-folder.c (vee_sync): Only re-build the folder if we're
expunging. Also only clear out the changed folders list if we're
expungung and everything worked.
Michael Zucci [Wed, 10 Oct 2001 21:50:30 +0000 (21:50 +0000)]
slight wording changes, mainly LGPL=>GPL
Jeffrey Stedfast [Wed, 10 Oct 2001 21:36:22 +0000 (21:36 +0000)]
Added a hack for Solaris systems.
2001-10-10 Jeffrey Stedfast <fejj@ximian.com>
* camel-charset-map.c (camel_charset_map_init): Added a hack for
Solaris systems.
0 [Wed, 10 Oct 2001 19:48:27 +0000 (19:48 +0000)]
oops, we want get_unread_message_count, not get_message_count!
2001-10-10 <NotZed@Ximian.com>
* providers/local/camel-maildir-store.c (scan_dir): oops, we want
get_unread_message_count, not get_message_count!
2001-10-09 <NotZed@Ximian.com>
* camel-service.c (camel_service_disconnect): Duplicate connect
code that unregisters a cancel op if we created one.
Jeffrey Stedfast [Wed, 10 Oct 2001 19:03:29 +0000 (19:03 +0000)]
updated
9 [Tue, 9 Oct 2001 23:36:31 +0000 (23:36 +0000)]
Another go at getting the logic right again. Make transients only update
2001-10-09 <NotZed@Ximian.com>
* camel-operation.c (camel_operation_progress): Another go at
getting the logic right again. Make transients only update after
5 seconds (CAMEL_OPERATION_TRANSIENT_DELAY)
(camel_operation_end): Likewise.
Michael Zucci [Tue, 9 Oct 2001 23:13:21 +0000 (23:13 +0000)]
Forgot a little bit of debug.
9 [Tue, 9 Oct 2001 22:26:01 +0000 (22:26 +0000)]
Implement.
2001-10-09 <NotZed@Ximian.com>
* providers/local/camel-spool-folder.c (spool_search_by_uids):
Implement.
* providers/imap/camel-imap-search.c (imap_body_contains): If
searching a sub-set of the total message count, then use a UID
range to search only specific messages.
* camel-vee-folder.c (vee_folder_change_match): Removed.
(folder_changed_add_uid): Helper func for changed code.
(folder_changed_remove_uid): "
(folder_changed_change_uid): "
(folder_changed): Rewritten. Supports proper auto-updating of
changes, but not removals till a sync occurs.
(vee_search_by_uids): Implement.
(folder_changed): Changed to call an async threaded function to do
the actual folder updating.
* camel-folder-summary.c (camel_flag_list_copy): New func to copy
a whole list of flags.
(camel_tag_list_copy): New func to copy a whole list of flags.
* providers/imap/camel-imap-folder.c (imap_search_by_uids):
Implement.
* providers/local/camel-local-folder.c (local_search_by_uids):
Implement.
* camel-folder.c (camel_folder_search_by_uids): New function,
search a subset of uid's.
(search_by_uids): Default impl, return error.
Dan Winship [Tue, 9 Oct 2001 03:07:39 +0000 (03:07 +0000)]
replace the ever-growing list of gbooleans with a single guint32 for
* camel-folder.h (struct _CamelFolder): replace the ever-growing
list of gbooleans with a single guint32 for flags.
* camel-folder.c: Update folder flag setting/checking.
* providers/pop3/camel-pop3-folder.c (camel_pop3_folder_init):
* providers/nntp/camel-nntp-folder.c (camel_nntp_folder_new):
* providers/local/camel-spool-folder.c (spool_init,
camel_spool_folder_new):
* providers/local/camel-maildir-folder.c (camel_maildir_folder_new):
* providers/local/camel-local-folder.c (local_init):
* providers/imap/camel-imap-folder.c (camel_imap_folder_init,
camel_imap_folder_new):
* camel-vtrash-folder.c (camel_vtrash_folder_init):
* camel-vee-folder.c (camel_vee_folder_init):
* camel-digest-folder.c (camel_digest_folder_init): update folder
flag setting.
Dan Winship [Mon, 8 Oct 2001 16:29:32 +0000 (16:29 +0000)]
Unlock the store before returning error. (noted by NotZed)
* providers/imap/camel-imap-store.c (get_folder_online): Unlock
the store before returning error. (noted by NotZed)
Jeffrey Stedfast [Sat, 6 Oct 2001 23:44:46 +0000 (23:44 +0000)]
Fix a slight error in logic. Just because the last word was an encoded
2001-10-06 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-utils.c (header_decode_text): Fix a slight error in
logic. Just because the last word was an encoded word doesn't mean
we ignore the lwsp padding, we only ignore it if the last word and
*this* word are encoded.
Jeffrey Stedfast [Sat, 6 Oct 2001 07:19:41 +0000 (07:19 +0000)]
Implemented uuencoding and decoding. (complete): Implemented uuencoding
2001-10-06 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-filter-basic.c (filter): Implemented uuencoding and
decoding.
(complete): Implemented uuencoding and decoding.
* camel-mime-utils.c (uuencode_close): New function to flush the
uu encoder.
(uuencode_step): New function to uuencode a block of data.
5 [Fri, 5 Oct 2001 21:49:17 +0000 (21:49 +0000)]
Use a folder_subscribed event rather than a folder_created one.
2001-10-05 <NotZed@Ximian.com>
* providers/imap/camel-imap-store.c (subscribe_folder): Use a
folder_subscribed event rather than a folder_created one.
(unsubscribe_folder): Similarly for unsubscribed/deleted.
(create_folder): Emit a folder_created event on the folders we
added. Not sure hsould probably check which ones are new and
which ones are just existing ones?
(delete_folder): Emit a folder_deletd event when we've deleted the
folder. Part of fix for #11831.
* camel-store.c (camel_store_class_init): Added
folder_subscribed/unsubscribed events.
Jeffrey Stedfast [Fri, 5 Oct 2001 19:38:24 +0000 (19:38 +0000)]
Turn off warnings. (get_name): Same.
2001-10-05 Jeffrey Stedfast <fejj@ximian.com>
* camel-service.c (camel_service_finalize): Turn off warnings.
(get_name): Same.
* camel-sasl.c (sasl_challenge): Turn off warnings.
* camel-tcp-stream.c (tcp_connect): Turn off warnings.
(tcp_getsockopt): Same.
(tcp_setsockopt): Here too.
(tcp_get_socket): And here.
* camel-folder.c (folder_sync): Turn off warnings.
(expunge): Same.
(append_message): Here too.
(get_message): And here.
(search_by_expression): And again here.
(folder_changed): Here too.
* camel-store.c (get_folder): Set an exception and turn off
debugging g_warnings.
(create_folder): Same.
(delete_folder): Here too.
(rename_folder): And here.
(get_trash): And here.
(get_folder_info): Same.
(free_folder_info): And again here.
(camel_folder_info_build): Here too.
(folder_subscribed): Same.
(subscribe_folder): Here too.
(unsubscribe_folder): And here.
5 [Fri, 5 Oct 2001 18:52:21 +0000 (18:52 +0000)]
Try harder to get broken names out of addresses. Unencoded ,'s in names
2001-10-05 <NotZed@Ximian.com>
* camel-mime-utils.c (header_decode_mailbox): Try harder to get
broken names out of addresses. Unencoded ,'s in names will still
break it, but well what can you do eh?
(header_decode_mailbox): Always add .'s into address we've scanned
past a '.', even if we can't decode the next part. Fix for some
annoying bug #.
4 [Fri, 5 Oct 2001 18:08:22 +0000 (18:08 +0000)]
Change the order of execution slightly. We delete the folder first, then
2001-10-04 <NotZed@Ximian.com>
* camel-store.c (camel_store_delete_folder): Change the order of
execution slightly. We delete the folder first, then call the
classes delete folder, then cleanup the hashtable afterwards.
This is so deletes of vfolders work, since vee-store uses the
folder hashtable to store all of is vfolders :-/
Jeffrey Stedfast [Thu, 4 Oct 2001 18:12:36 +0000 (18:12 +0000)]
tedfast <fejj@ximian.com>
tedfast <fejj@ximian.com>
* camel-service.c (camel_service_connect): Unregister the
operation before unreffing it.
Jeffrey Stedfast [Thu, 4 Oct 2001 18:12:22 +0000 (18:12 +0000)]
Unregister the operation before unreffing it.
2001-10-04 Jeffrey Stedfast <fejj@ximian.com>
* camel-service.c (camel_service_connect): Unregister the
operation before unreffing it.
Dan Winship [Thu, 4 Oct 2001 17:45:42 +0000 (17:45 +0000)]
Make this dup the strings it's passed. (*) Add lots of docs.
* e-passwords.c (e_passwords_add_password): Make this dup the
strings it's passed.
(*) Add lots of docs.
3 [Wed, 3 Oct 2001 23:57:41 +0000 (23:57 +0000)]
Remove now unused 'recents' array/freeing func.
2001-10-03 <NotZed@Ximian.com>
* providers/imap/camel-imap-folder.c (camel_imap_folder_changed):
Remove now unused 'recents' array/freeing func.
* camel-object.c (camel_object_trigger_event): Oops, always run
the prep function, even if we have no hooks listening. Causes
incoming imap recents to get ignored bythe camel-folder filter
inbox code.
3 [Wed, 3 Oct 2001 23:05:06 +0000 (23:05 +0000)]
Dont explicitly save metadata, its saved in summary_sync.
2001-10-03 <NotZed@Ximian.com>
* providers/local/camel-local-folder.c (local_sync): Dont
explicitly save metadata, its saved in summary_sync.
* providers/local/camel-mh-summary.c: Call superclass.
(mh_summary_check): Dont save ibex.
* providers/local/camel-maildir-summary.c: Call superclass method.
(maildir_summary_check): Dont save ibex explictly.
* providers/local/camel-mbox-summary.c: Call super-class sync when
done, saves summary/ibex, etc.
(mbox_summary_check): Dont save ibex.
(mbox_summary_sync): Call summary_check rather than trying to
update from our known position.
* providers/local/camel-local-summary.c
(camel_local_summary_check): Dont save the summary or index here.
(local_summary_sync): Save the summary/index here.
3 [Wed, 3 Oct 2001 22:17:10 +0000 (22:17 +0000)]
Added MATCH_NEWLINE flag, -> REG_NEWLINE.
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.
Jeffrey Stedfast [Wed, 3 Oct 2001 21:25:04 +0000 (21:25 +0000)]
Call camel_folder_delete() on the folder if it's "alive".
2001-10-03 Jeffrey Stedfast <fejj@ximian.com>
* camel-store.c (camel_store_delete_folder): Call
camel_folder_delete() on the folder if it's "alive".
* camel-folder.c (camel_folder_delete): Mark the folder as
deleted, perform any folder specific cleanup and emit the deleted
event.
(camel_folder_sync): Only sync the folder if it hasn't been
deleted.
(camel_folder_expunge): Same.
Dan Winship [Wed, 3 Oct 2001 15:50:58 +0000 (15:50 +0000)]
Strange are the ways of alloca. Fixes 11543.
* providers/local/camel-local-provider.c (local_url_equal):
Strange are the ways of alloca. Fixes 11543.
Jeffrey Stedfast [Wed, 3 Oct 2001 02:56:40 +0000 (02:56 +0000)]
remove unused variable
Jeffrey Stedfast [Wed, 3 Oct 2001 02:55:50 +0000 (02:55 +0000)]
Import the certificate if the user accepts it.
2001-10-02 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (ssl_bad_cert): Import the certificate if
the user accepts it.
2 [Wed, 3 Oct 2001 01:56:44 +0000 (01:56 +0000)]
for hashing/comparing local url's, we ignore trailing /'s in paths (maybe
2001-10-02 <NotZed@Ximian.com>
* providers/local/camel-local-provider.c (local_url_hash,
local_url_equal): for hashing/comparing local url's, we ignore
trailing /'s in paths (maybe shuld handle multiple /'s too).
(camel_provider_module_init): Use local_url_hash/equal for all functions.
2 [Wed, 3 Oct 2001 00:12:49 +0000 (00:12 +0000)]
Change to camel_charset_iconv_open/close.
2001-10-02 <NotZed@Ximian.com>
* camel-sasl-digest-md5.c (digest_response): Change to
camel_charset_iconv_open/close.
* camel-pgp-context.c (pgp_verify): Change to
camel_charset_iconv_open/close.
* camel-mime-part-utils.c (convert_buffer): Change to
camel_charset_iconv_open().
* camel-mime-filter-charset.c
(camel_mime_filter_charset_new_convert, finalise): Change to
camel_charset_iconv_open, etc.
* camel-mime-utils.c: Use the camel_charset_iconv_open/close()
functions to open/close it.
* camel-charset-map.c (camel_charset_iconv_open): New function,
wrap iconv_open, so we can cache ic's.
(camel_charset_iconv_close): Likewise for close.
(camel_charset_map_init,shutdown): Init/free iconv cache.
Jeffrey Stedfast [Tue, 2 Oct 2001 23:32:14 +0000 (23:32 +0000)]
Revert my x-unknown special-case hack - this may mask other problems.
2001-10-02 Jeffrey Stedfast <fejj@ximian.com>
* camel-charset-map.c (camel_charset_to_iconv): Revert my
x-unknown special-case hack - this may mask other problems.
* camel-mime-utils.c (rfc2047_decode_word): If the iconv
conversion fails, for whatever reason, retry using the user's
locale charset.
2 [Tue, 2 Oct 2001 22:03:13 +0000 (22:03 +0000)]
Go back to using the store url's path, not the toplevel_dir thing.
2001-10-02 <NotZed@Ximian.com>
* providers/local/camel-maildir-store.c (get_folder_info): Go back
to using the store url's path, not the toplevel_dir thing.
* camel-operation.c (camel_operation_progress): Fix the progress
logic, so we dont update too often.
2 [Tue, 2 Oct 2001 20:33:11 +0000 (20:33 +0000)]
Change the lock to a recursive e-mutex. (camel_object_hook_event):
2001-10-02 <NotZed@Ximian.com>
* camel-object.c (camel_object_get_hooks): Change the lock to a
recursive e-mutex.
(camel_object_hook_event): Maintain list length of hook list.
(camel_object_unhook_event): "
(camel_object_unhook_event): If we are in an event, just mark the
pair as removed, without removing it.
(camel_object_trigger_event): Before running events, copy the
list, and also ignore 'removed' events. After running events, if
we're all out of events, then free up any pending-removed events.
(camel_object_free_hooks): Add some new assertions on the state of
the hook structure.
Removed the #error if threads not defined. It _should_ actually
work without threads.
(camel_object_free_hooks): Free mutex when done.
Dan Winship [Tue, 2 Oct 2001 19:13:36 +0000 (19:13 +0000)]
Shoo! Shoo!
Jeffrey Stedfast [Mon, 1 Oct 2001 22:33:24 +0000 (22:33 +0000)]
Remove any cached messages that belonged to the deleted folder.
2001-10-01 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store.c (delete_folder): Remove any
cached messages that belonged to the deleted folder.
(subscribe_folder): Don't ever let the info->name be NULL and
don't use the stupid concat kludge to generate the URL, just use a
CamelURL to do it. This way we don't risk breaking stuff by having
a url like imap://fejj@imap//folder
Jeffrey Stedfast [Mon, 1 Oct 2001 20:31:03 +0000 (20:31 +0000)]
If the charset is x-unknown, return the locale_charset.
2001-10-01 Jeffrey Stedfast <fejj@ximian.com>
* camel-charset-map.c (camel_charset_to_iconv): If the charset is
x-unknown, return the locale_charset.
Dan Winship [Mon, 1 Oct 2001 19:43:14 +0000 (19:43 +0000)]
Fix up the provider flags to specify things more completely so we don't
* camel-provider.h: Fix up the provider flags to specify things
more completely so we don't have to hardcode provider names in the
mailer.
* providers/local/camel-local-provider.c: MH, mbox, and Maildir
are LOCAL. MH and mbox are no longer STORAGE by the new
definition.
* camel-session.c (vee_provider): The vfolder store is a STORAGE.
Dan Winship [Mon, 1 Oct 2001 18:09:53 +0000 (18:09 +0000)]
Don't munge the URL; CamelSession's caching relies on it not changing.
* providers/local/camel-local-store.c (construct): Don't munge the
URL; CamelSession's caching relies on it not changing. Instead,
add a toplevel_dir field to CamelLocalStore, and set that to the
path, but always ending with /.
(camel_local_store_finalize): Free toplevel_dir
(camel_local_store_get_toplevel_dir): Return toplevel_dir rather
than url->path.
* providers/local/*: Lots of s/url->path/toplevel_dir/
* providers/local/camel-spool-store.c (construct): Likewise, don't
try to strip a trailing / from url->path here, but I didn't make
the corresponding toplevel_dir change, because there's no good
reason someone should expect "/var/spool/mail/danw/" to work since
that's not a directory.
Dan Winship [Mon, 1 Oct 2001 16:27:02 +0000 (16:27 +0000)]
New, copied/renamed from mailer and gnome-libs.
* e-passwords.c (e_passwords_ask_password): New, copied/renamed
from mailer and gnome-libs.
Dan Winship [Mon, 1 Oct 2001 13:52:24 +0000 (13:52 +0000)]
if STAT returns 0, don't bother sending UIDL. Speeds things up slightly
* providers/pop3/camel-pop3-folder.c (pop3_refresh_info): if STAT
returns 0, don't bother sending UIDL. Speeds things up slightly
and also works around a bug in a particular random POP server.
(ximian bug 11369).
Chris Toshok [Sun, 30 Sep 2001 05:16:25 +0000 (05:16 +0000)]
copy/rename the mail specific password stuff here.
2001-09-30 Chris Toshok <toshok@ximian.com>
* e-passwords.c: copy/rename the mail specific password stuff
here.
* e-passwords.h: same.
Jeffrey Stedfast [Sat, 29 Sep 2001 23:47:04 +0000 (23:47 +0000)]
Add --no-secmem-warning and --no-greeting to the gpg command-line options.
2001-09-29 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-context.c (pgp_sign): Add --no-secmem-warning and
--no-greeting to the gpg command-line options.
(pgp_clearsign): Same.
(pgp_verify): Here too.
(pgp_encrypt): And here.
(pgp_decrypt): And finally here.
Jeffrey Stedfast [Fri, 28 Sep 2001 23:31:42 +0000 (23:31 +0000)]
Same here.
2001-09-28 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-search.c (get_source): Same here.
* camel-mime-message.c (camel_mime_message_set_source): Don't use
the e_url_shroud hack, use CamelURL functions instead.
Jeffrey Stedfast [Fri, 28 Sep 2001 22:38:08 +0000 (22:38 +0000)]
Init the nntp url hash and url_equal functions.
2001-09-28 Jeffrey Stedfast <fejj@ximian.com>
* providers/nntp/camel-nntp-provider.c
(camel_provider_module_init): Init the nntp url hash and url_equal
functions.
* providers/sendmail/camel-sendmail-provider.c
(camel_provider_module_init): Init the sendmail url hash and
url_equal functions.
* providers/smtp/camel-smtp-provider.c
(camel_provider_module_init): Init the smtp url hash and url_equal
functions.
* providers/pop3/camel-pop3-provider.c
(camel_provider_module_init): Init the pop3 url hash and url_equal
functions.
* providers/imap/camel-imap-provider.c
(camel_provider_module_init): Init the imap url hash and url_equal
functions.
* providers/local/camel-local-provider.c
(camel_provider_module_init): Init the local url hash and
url_equal functions.
* camel-session.c (camel_session_class_init): Init the vfolder url
hash and url_equal functions.
* camel-provider.h: Added url_hash and url_equal function pointers
to the structure.
* camel-vtrash-folder.c (vtrash_move_messages_to): Oops, a
CamelFolder is not a CamelFolderClass.
Jeffrey Stedfast [Fri, 28 Sep 2001 18:27:46 +0000 (18:27 +0000)]
Oops, a CamelFolder is not a CamelFolderClass.
2001-09-28 Jeffrey Stedfast <fejj@ximian.com>
* camel-vtrash-folder.c (vtrash_move_messages_to): Oops, a
CamelFolder is not a CamelFolderClass.
Dan Winship [Fri, 28 Sep 2001 14:36:44 +0000 (14:36 +0000)]
Make this take an SSL * instead of a CamelTcpStreamSSL *, since it can get
* camel-tcp-stream-openssl.c (ssl_error_to_errno): Make this take
an SSL * instead of a CamelTcpStreamSSL *, since it can get called
from open_ssl_connection, when the CamelTcpStreamSSL isn't set up
right yet. Fixes a crash on connection failure.
Dan Winship [Fri, 28 Sep 2001 02:37:53 +0000 (02:37 +0000)]
Grab the store's command_lock before grabbing the folder's cache_lock to
* providers/imap/camel-imap-folder.c
(camel_imap_folder_fetch_data): Grab the store's command_lock
before grabbing the folder's cache_lock to prevent deadlock if
another thread is processing an EXPUNGE response.
* providers/imap/camel-imap-folder.c
(imap_expunge_uids_resyncing): Fix a compiler warning that might
point out a real bug...
* providers/imap/camel-imap-folder.c (get_content): and one that
doesn't
Michael Zucci [Thu, 27 Sep 2001 23:34:33 +0000 (23:34 +0000)]
Minor style change to operation_registered.
7 [Thu, 27 Sep 2001 23:24:01 +0000 (23:24 +0000)]
Dont re-register the connect_op if we got it by calling
2001-09-27 <NotZed@Ximian.com>
* camel-service.c (camel_service_connect): Dont re-register the
connect_op if we got it by calling 'operation_registered', which
returns an already-registered one.
(camel_service_disconnect): Likewise here.
This removes all the re-registered warnings.
7 [Thu, 27 Sep 2001 22:36:53 +0000 (22:36 +0000)]
Fill the finalised data with nonsense, rather than 0's - more easily
2001-09-27 <NotZed@Ximian.com>
* camel-object.c (camel_object_unref): Fill the finalised data
with nonsense, rather than 0's - more easily detect bad data.
(camel_object_new): Clear instance data when we retrieve it off
the list.
* camel-object.h (_CamelObject): Added an event lock pointer for
uh, locking event stuff. Also change the hooklist hashtable into
a list. Changed all the code to handle it. Result: thread-safe
events, event-hooks, and save memory too, and SHOULD FINALLY FIX
THAT UNREAD COUNT PROBLEM.
Jeffrey Stedfast [Thu, 27 Sep 2001 22:32:11 +0000 (22:32 +0000)]
CRLF decode the stream before parsing it into a MIME part. This fixes bug
2001-09-27 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-mime.c (camel_pgp_mime_part_decrypt): CRLF decode the
stream before parsing it into a MIME part. This fixes bug #10521.
* camel-store.c: Remove the old folder from the vTrash folder.
Dan Winship [Thu, 27 Sep 2001 14:39:39 +0000 (14:39 +0000)]
Change "gboolean connected" to "CamelServiceConnectionStatus status",
* camel-service.c: Change "gboolean connected" to
"CamelServiceConnectionStatus status", which can be disconnected,
connecting, connected, or disconnecting.
(camel_service_init, camel_service_finalize): create/destroy the
connect_op_lock. Refer to service->status rather than
service->connected.
(camel_service_connect): When connecting, note the current
operation (and create a new one if there's none registered) and
mark the connection "connecting" until we succeed or fail.
(camel_service_disconnect): Likewise in reverse.
(camel_service_cancel_connect): New function to cancel a
connection attempt.
(cancel_connect): Default implementation: Call
camel_operation_cancel on the connect_op.
* camel-disco-store.c (disco_connect): Only call
CamelRemoteStore's connect func if we're online.
(disco_cancel_connect): Fall back to offline if a connection gets
cancelled.
(disco_get_folder_info): Kludge: call connect explicitly before
deciding whether to do the online or offline version, so if the
connect fails, we fall back correctly.
* camel-session.c (camel_session_get_service_connected):
s/svc->connected/svc->status/
* camel-remote-store.c (camel_remote_store_finalise):
Change service->connected check to service->status check.
(remote_connect): Don't set service->connected here:
camel_service_connect() itself does that.
* camel-operation.c (camel_operation_registered): Deal with the
possibility that there's no registered op.
6 [Wed, 26 Sep 2001 21:30:19 +0000 (21:30 +0000)]
If we get a search error, just abort, dont try and fall back and copy to
2001-09-26 <NotZed@Ximian.com>
* camel-filter-driver.c (camel_filter_driver_filter_message): If
we get a search error, just abort, dont try and fall back and copy
to inbox.
(camel_filter_driver_filter_message): Make sure we ALWAYS use
exceptions for important things - like moving messages to inbox!
(camel_filter_driver_filter_message): If we have the source
folder, use camel_folder_set_message_flags rather then poking the
info directly, which skips changed events. This means filtering
immediate doesn't lose changed events.
(do_flag): Same here.
(do_colour): Same thing but using set_tag.
(do_score): Same again.
(camel_filter_driver_filter_folder): Use ~0 as the 'set' arg to
set_flags, just saves typing.
(open_folder): We cache folders that we couldn't open as well as
those ones we could. Use magic token FOLDER_INVALID =
(void *)~0 as the marker.
(close_folder): Handle FOLDER_INVALID case properly.
Jeffrey Stedfast [Wed, 26 Sep 2001 21:04:13 +0000 (21:04 +0000)]
New function to convenience Larry ;-) (check_content_id): Oops, return
2001-09-26 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-message.c
(camel_mime_message_get_part_by_content_id): New function to
convenience Larry ;-)
(check_content_id): Oops, return !found instead of found. This
callback has to return whether or not to keep searching, not
whether or not it found what it's looking for. Do'h!
* camel-pgp-mime.c (camel_pgp_mime_is_rfc2015_signed): block out
some code if ENABLE_PEDANTIC_PGPMIME is not defined.
Jeffrey Stedfast [Wed, 26 Sep 2001 20:51:19 +0000 (20:51 +0000)]
fixed merge conflicts
Jeffrey Stedfast [Wed, 26 Sep 2001 20:50:58 +0000 (20:50 +0000)]
New function to convenience Larry ;-)
2001-09-26 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-message.c
(camel_mime_message_get_part_by_content_id): New function to
convenience Larry ;-)
* camel-pgp-mime.c (camel_pgp_mime_is_rfc2015_signed): block out
some code if ENABLE_PEDANTIC_PGPMIME is not defined.
6 [Wed, 26 Sep 2001 20:18:54 +0000 (20:18 +0000)]
Emptied VeeStorePrivate, member wasn't used.
2001-09-26 <NotZed@Ximian.com>
* camel-vee-store.c: Emptied VeeStorePrivate, member wasn't used.
* camel-vee-folder.c (camel_vee_folder_set_expression): Lock
changed list separately.
(camel_vee_folder_remove_folder): "
(camel_vee_folder_set_folders): Use changed_lock for changed list.
(vee_refresh_info): Use changed_lock, also just grab the list,
reset it in the lock, and do the work unlocked.
(vee_sync): Use changed lock for changed list.
(folder_changed): ". All this kills a deadlock with sync/expunge.
* camel-private.h (CamelVeeFolderPrivate): Added a new lock for
the folders-changed list.
(CamelVeeStorePrivate): Removed, defined in camel-vee-store.c,
thanks to a pedantic.
Jeffrey Stedfast [Wed, 26 Sep 2001 18:24:49 +0000 (18:24 +0000)]
Fix Ettore's fix.
2001-09-26 Jeffrey Stedfast <fejj@ximian.com>
* Makefile.am: Fix Ettore's fix.
Jeffrey Stedfast [Wed, 26 Sep 2001 00:08:17 +0000 (00:08 +0000)]
No longer takes a remember argument. (pgp_sign): Only uncache the
2001-09-25 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-context.c (camel_pgp_context_new): No longer takes a
remember argument.
(pgp_sign): Only uncache the passphrase on failure.
(pgp_clearsign): Same.
(pgp_encrypt): Here too.
(pgp_decrypt): And here.
(pass_free): New function to zero the passphrase before freeing
it.
Ettore Perazzoli [Tue, 25 Sep 2001 23:43:55 +0000 (23:43 +0000)]
[Patch for Automake 1.5 compatibility pointed out by Richard
Boulton <richard@tartarus.org>, as per #9258.]
* providers/nntp/Makefile.am: Remove some commented parts that
make Automake 1.5 choke.
* Makefile.am (camel-lock-helper): Add $(EXEEXT) for Automake 1.5
compatibility.
5 [Tue, 25 Sep 2001 22:19:40 +0000 (22:19 +0000)]
Only unref info if we got it.
2001-09-25 <NotZed@Ximian.com>
* camel-folder.c (get_unread_message_count): Only unref info if we
got it.
5 [Tue, 25 Sep 2001 22:09:04 +0000 (22:09 +0000)]
Fix for !threads enabled not ccompiling. (camel_operation_ref): Assert
2001-09-25 <NotZed@Ximian.com>
* camel-operation.c (camel_operation_unref): Fix for !threads
enabled not ccompiling.
(camel_operation_ref): Assert refcount > 0.
(struct _CamelOperation): Removed the lock. On further
investigation, I dont think this will always work, the
registration operations assume that a lookup in the
operation_active table will return a ref, that will remain valid
until we ref it, which needn't be the case. So now i'm using a
single global lock, since we'd need to do that for unref anyway,
and every operation is fast & memory-bound. Changed all the code
to handle this.
(camel_operation_progress_count): Since the code is identical,
just call progress() for now.
(camel_operation_register): No longer refcount, use unref to
check/clear the active table.
(camel_operation_unregister): Same here.
(camel_operation_unref): Check if operation is in active table, if
so, warn, remove.
Dan Winship [Tue, 25 Sep 2001 21:14:09 +0000 (21:14 +0000)]
call SSL_read/write, looping on SSL_ERROR_WANT_READ/WRITE. I'm sure
* camel-tcp-stream-openssl.c (my_SSL_read, my_SSL_write): call
SSL_read/write, looping on SSL_ERROR_WANT_READ/WRITE. I'm sure
there's a perfectly good reason that the API works this way. No,
really.
(stream_read, stream_write): use my_SSL_read and my_SSL_write.
Fixes at least ximian 8593, and probably 6024 and maybe 10366,
at least for OpenSSL. There may be a parallel NSS bug?
5 [Tue, 25 Sep 2001 19:48:11 +0000 (19:48 +0000)]
A "safe write" function that always writes out all data asked of it, till
2001-09-25 <NotZed@Ximian.com>
* camel-stream-buffer.c (stream_write_all): A "safe write"
function that always writes out all data asked of it, till
finished.
(stream_write): Rewritten. What was i on when i wrote that
originally, how did it ever work with tcp streams ...
4 [Tue, 25 Sep 2001 00:58:34 +0000 (00:58 +0000)]
Set the exception to FOLDER_INVALID rather than making out it worked. A
2001-09-24 <NotZed@Ximian.com>
* camel-folder.c (append_message): Set the exception to
FOLDER_INVALID rather than making out it worked. A fix for #7025.
(search_by_expression): Here too.
4 [Mon, 24 Sep 2001 21:27:21 +0000 (21:27 +0000)]
In the 'lose' case, free messages, not fetch_data twice!
2001-09-24 <NotZed@Ximian.com>
* providers/imap/camel-imap-folder.c (imap_update_summary): In the
'lose' case, free messages, not fetch_data twice!
4 [Mon, 24 Sep 2001 19:31:07 +0000 (19:31 +0000)]
If the type is encoded, get the fallback charset from the message
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.
Jeffrey Stedfast [Mon, 24 Sep 2001 00:39:24 +0000 (00:39 +0000)]
fixed compile warning