aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--camel/ChangeLog7
-rw-r--r--camel/camel-data-wrapper.c2
-rw-r--r--camel/camel-mime-part.c1
-rw-r--r--camel/camel-simple-data-wrapper.c8
-rw-r--r--camel/camel-stream-fs.c8
5 files changed, 17 insertions, 9 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog
index 719e6286f9..ecb01a4c17 100644
--- a/camel/ChangeLog
+++ b/camel/ChangeLog
@@ -1,5 +1,12 @@
2000-03-04 bertrand <bertrand@helixcode.com>
+ * camel-mime-part.c (my_write_content_to_stream):
+ stream the raw content instead of nothing if the encoding
+ is not supported.
+
+ * camel-stream-fs.c (_seek): handle eos more
+ properly.
+
* camel-formatter.c (get_bonobo_tag_for_object):
bonobo-goad-id is the good key to look for.
(get_bonobo_tag_for_object): close the <object> tag.
diff --git a/camel/camel-data-wrapper.c b/camel/camel-data-wrapper.c
index 6f6aac6a16..7a9157e87c 100644
--- a/camel/camel-data-wrapper.c
+++ b/camel/camel-data-wrapper.c
@@ -272,6 +272,8 @@ my_write_to_stream (CamelDataWrapper *data_wrapper, CamelStream *stream)
nb_written += camel_stream_write (stream, tmp_buf + nb_written, nb_read - nb_written);
}
+ CAMEL_LOG_FULL_DEBUG ("CamelDataWrapper::write_to_stream, nmumber of bytes written : %d\n", nb_written);
+
}
diff --git a/camel/camel-mime-part.c b/camel/camel-mime-part.c
index 4c2ecca805..460e0527d2 100644
--- a/camel/camel-mime-part.c
+++ b/camel/camel-mime-part.c
@@ -701,6 +701,7 @@ my_write_content_to_stream (CamelMimePart *mime_part, CamelStream *stream)
gtk_object_unref (GTK_OBJECT (stream_b64));
break;
default:
+ camel_data_wrapper_write_to_stream (content, stream);
g_warning ("Encoding type `%s' not supported.",
camel_mime_part_encoding_to_string
(mime_part->encoding));
diff --git a/camel/camel-simple-data-wrapper.c b/camel/camel-simple-data-wrapper.c
index 2b603d5ef3..8e8ac018fc 100644
--- a/camel/camel-simple-data-wrapper.c
+++ b/camel/camel-simple-data-wrapper.c
@@ -140,11 +140,13 @@ my_write_to_stream (CamelDataWrapper *data_wrapper, CamelStream *stream)
g_assert (stream);
array = simple_data_wrapper->byte_array;
- if ( array && array->len)
+ if ( array && array->len) {
+ printf ("In simple data wrapper::write_to_stream, there is an array\n");
camel_stream_write (stream, (gchar *)array->data, array->len);
- else
+ } else {
+ printf ("In simple data wrapper::write_to_stream, there is no array\n");
parent_class->write_to_stream (data_wrapper, stream);
-
+ }
CAMEL_LOG_FULL_DEBUG ("CamelSimpleDataWrapper:: Leaving my_write_to_stream\n");
}
diff --git a/camel/camel-stream-fs.c b/camel/camel-stream-fs.c
index db12a421e0..46ccfe6e8f 100644
--- a/camel/camel-stream-fs.c
+++ b/camel/camel-stream-fs.c
@@ -487,11 +487,6 @@ _seek (CamelSeekableStream *stream, gint offset, CamelStreamSeekPolicy policy)
CamelStreamFs *stream_fs = CAMEL_STREAM_FS (stream);
- /* because we don't know what is going to happen, we
- set the eof stream to false so that a reread can
- occur */
- stream_fs->eof = FALSE;
-
switch (policy) {
case CAMEL_STREAM_SET:
real_offset = MAX (stream_fs->inf_bound + offset, stream_fs->inf_bound);
@@ -533,7 +528,8 @@ _seek (CamelSeekableStream *stream, gint offset, CamelStreamSeekPolicy policy)
printf ("***** Seeking : real_offset=%d, whence=%d\n", real_offset, whence);
return_position = lseek (stream_fs->fd, real_offset, whence) - stream_fs->inf_bound;
- printf ("*** *** *** *** ***\n");
+ if (CAMEL_SEEKABLE_STREAM (stream)->cur_pos != return_position)
+ stream_fs->eof = FALSE;
CAMEL_SEEKABLE_STREAM (stream)->cur_pos = return_position;