diff options
author | bertrand <bertrand@helixcode.com> | 2000-03-02 23:09:45 +0800 |
---|---|---|
committer | Bertrand Guiheneuf <bertrand@src.gnome.org> | 2000-03-02 23:09:45 +0800 |
commit | 01b2d34d032d0a675ef5f0fdcb811cdd41d690ed (patch) | |
tree | 3102247d7fd75ad16dc254196f3fa1e35933fe42 /camel/camel-stream-b64.c | |
parent | d932fda48b3724f516fa5012b80c329644d72bdf (diff) | |
download | gsoc2013-evolution-01b2d34d032d0a675ef5f0fdcb811cdd41d690ed.tar gsoc2013-evolution-01b2d34d032d0a675ef5f0fdcb811cdd41d690ed.tar.gz gsoc2013-evolution-01b2d34d032d0a675ef5f0fdcb811cdd41d690ed.tar.bz2 gsoc2013-evolution-01b2d34d032d0a675ef5f0fdcb811cdd41d690ed.tar.lz gsoc2013-evolution-01b2d34d032d0a675ef5f0fdcb811cdd41d690ed.tar.xz gsoc2013-evolution-01b2d34d032d0a675ef5f0fdcb811cdd41d690ed.tar.zst gsoc2013-evolution-01b2d34d032d0a675ef5f0fdcb811cdd41d690ed.zip |
fix implementation so that it writes properly to the output stream even.
2000-03-02 bertrand <bertrand@helixcode.com>
* camel-data-wrapper.c (my_write_to_stream):
fix implementation so that it writes properly
to the output stream even.
* camel-stream-b64.c (camel_stream_b64_write_to_stream):
fix implementation.
svn path=/trunk/; revision=2013
Diffstat (limited to 'camel/camel-stream-b64.c')
-rw-r--r-- | camel/camel-stream-b64.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/camel/camel-stream-b64.c b/camel/camel-stream-b64.c index 29c89ba92b..cedc9f914f 100644 --- a/camel/camel-stream-b64.c +++ b/camel/camel-stream-b64.c @@ -557,18 +557,25 @@ camel_stream_b64_write_to_stream (CamelStream *stream, { gchar tmp_buf[4096]; gint nb_read; + gint nb_written; /* * default implementation that uses the input - * stream and stream it in a blocking way. + * stream and stream it in a blocking way + * to an output stream. */ g_assert (output_stream); g_assert (stream); - while (!camel_stream_eos (output_stream)) { + while (!camel_stream_eos (stream)) { nb_read = camel_stream_read (stream, tmp_buf, 4096); - if (nb_read) - camel_stream_write (output_stream, tmp_buf, nb_read); + nb_written = 0; + while (nb_written < nb_read) + nb_written += camel_stream_write (output_stream, tmp_buf, nb_read); } } + + + + |