Add missing header for cancel check stuff.
2001-02-02 Not Zed <NotZed@Ximian.com> * camel-stream-fs.c: Add missing header for cancel check stuff. * camel-session.c (camel_cancel_cancel): Fix a wrong cast. * camel-mime-part.c (init_header_name_table): Setup a new table header_formatted_table, that lists headers that we dont want to fold (they've already been folded). (write_to_stream): Check for already formatted headers, and dont try and fold them. This is a fix for bug #1097. svn path=/trunk/; revision=7941
This commit is contained in:
@ -1,3 +1,15 @@
|
||||
2001-02-02 Not Zed <NotZed@Ximian.com>
|
||||
|
||||
* camel-stream-fs.c: Add missing header for cancel check stuff.
|
||||
|
||||
* camel-session.c (camel_cancel_cancel): Fix a wrong cast.
|
||||
|
||||
* camel-mime-part.c (init_header_name_table): Setup a new table
|
||||
header_formatted_table, that lists headers that we dont want to
|
||||
fold (they've already been folded).
|
||||
(write_to_stream): Check for already formatted headers, and dont
|
||||
try and fold them. This is a fix for bug #1097.
|
||||
|
||||
2001-02-01 Not Zed <NotZed@Ximian.com>
|
||||
|
||||
* camel-mime-utils.c (header_fold): If we are folding, drop the
|
||||
|
||||
@ -54,7 +54,7 @@ typedef enum {
|
||||
|
||||
|
||||
static GHashTable *header_name_table;
|
||||
|
||||
static GHashTable *header_formatted_table;
|
||||
|
||||
static CamelMediumClass *parent_class=NULL;
|
||||
|
||||
@ -95,7 +95,10 @@ init_header_name_table()
|
||||
g_hash_table_insert (header_name_table, "Content-Transfer-Encoding", (gpointer)HEADER_ENCODING);
|
||||
g_hash_table_insert (header_name_table, "Content-MD5", (gpointer)HEADER_CONTENT_MD5);
|
||||
g_hash_table_insert (header_name_table, "Content-Type", (gpointer)HEADER_CONTENT_TYPE);
|
||||
|
||||
|
||||
header_formatted_table = g_hash_table_new(g_strcase_hash, g_strcase_equal);
|
||||
g_hash_table_insert(header_formatted_table, "Content-Type", (void *)1);
|
||||
g_hash_table_insert(header_formatted_table, "Content-Disposition", (void *)1);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -483,15 +486,19 @@ write_to_stream(CamelDataWrapper *data_wrapper, CamelStream *stream)
|
||||
struct _header_raw *h = mp->headers;
|
||||
char *val;
|
||||
|
||||
/* fold/write the headers. But dont fold headers that are already formatted
|
||||
(e.g. ones with parameter-lists, that we know about, and have created) */
|
||||
while (h) {
|
||||
val = h->value;
|
||||
if (val == NULL) {
|
||||
g_warning("h->value is NULL here for %s", h->name);
|
||||
count = 0;
|
||||
} else {
|
||||
} else if (g_hash_table_lookup(header_formatted_table, val) == NULL) {
|
||||
val = header_fold(val, strlen(h->name));
|
||||
count = camel_stream_printf(stream, "%s%s%s\n", h->name, isspace(val[0]) ? ":" : ": ", val);
|
||||
g_free(val);
|
||||
} else {
|
||||
count = camel_stream_printf(stream, "%s%s%s\n", h->name, isspace(val[0]) ? ":" : ": ", val);
|
||||
}
|
||||
if (count == -1)
|
||||
return -1;
|
||||
|
||||
@ -639,7 +639,7 @@ void camel_cancel_cancel(CamelCancel *cc)
|
||||
if (cc == NULL) {
|
||||
if (cancel_active) {
|
||||
CAMEL_ACTIVE_LOCK();
|
||||
g_hash_table_foreach(cancel_active, (GHRFunc)cancel_thread, NULL);
|
||||
g_hash_table_foreach(cancel_active, (GHFunc)cancel_thread, NULL);
|
||||
CAMEL_ACTIVE_UNLOCK();
|
||||
}
|
||||
} else if ((cc->flags & CAMEL_CANCEL_CANCELLED) == 0) {
|
||||
|
||||
@ -32,6 +32,8 @@
|
||||
#include <errno.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "camel-session.h" /* for camel_cancel_* */
|
||||
|
||||
static CamelSeekableStreamClass *parent_class = NULL;
|
||||
|
||||
/* Returns the class for a CamelStreamFS */
|
||||
|
||||
Reference in New Issue
Block a user