Re: [evolution-patches] fix for bug #44344



applied with those changes

Jeff

On Tue, 2003-06-10 at 23:44, Not Zed wrote:
> couple more comments :)
> 
> Index: camel-mime-filter-bestenc.c
> ===================================================================
> RCS file: /cvs/gnome/evolution/camel/camel-mime-filter-bestenc.c,v
> retrieving revision 1.6
> diff -u -r1.6 camel-mime-filter-bestenc.c
> --- camel-mime-filter-bestenc.c 11 Jul 2002 22:30:49 -0000      1.6
> +++ camel-mime-filter-bestenc.c 10 Jun 2003 05:56:35 -0000
> @@ -23,6 +23,7 @@
>  #include <config.h>
>  #endif
>  
> +#include <stdio.h>
>  #include <string.h>
>  
>  #include "camel-mime-filter-bestenc.h"
> @@ -210,8 +211,9 @@
>  
>  /**
>   * camel_mime_filter_bestenc_get_best_encoding:
> - * @f: 
> + * @f: bestenc filter object
>   * @required: maximum level of output encoding allowed.
> + * @istext: content stream is text
> 
>  --- left over from your last patch
> 
>   * 
>   * Return the best encoding, given specific constraints, that can be
> used to
>   * encode a stream of bytes.
> @@ -222,7 +224,11 @@
>  camel_mime_filter_bestenc_get_best_encoding(CamelMimeFilterBestenc *f,
> CamelBestencEncoding required)
>  {
>         CamelMimePartEncodingType bestenc;
> -
> +       int istext;
> +       
> +       istext = (required & CAMEL_BESTENC_TEXT) ? 1 : 0;
> +       required = required & ~CAMEL_BESTENC_TEXT;
> +       
>  #if 0
>         printf("count0 = %d, count8 = %d, total = %d\n", f->count0,
> f->count8, f->total);
>         printf("maxline = %d, crlfnoorder = %s\n", f->maxline,
> f->crlfnoorder?"TRUE":"FALSE");
> @@ -238,7 +244,7 @@
>         /* if we need to encode, see how we do it */
>         if (required == CAMEL_BESTENC_BINARY)
>                 bestenc = CAMEL_MIME_PART_ENCODING_BINARY;
> -       else if (f->count8 + f->count0 >= (f->total*17/100))
> +       else if (f->count0 > 0 || f->count8 >= (istext ?
> (f->total*17/100) : 1))
> 
> --- this is partially left over from the last patch too.  maybe ..
> 
> else if (istext && (f->count8 + f->count0) < (f->total*17/100))
>      bestenc = CAMEL_MIME_PART_ENCODING_QUOTEDPRINTABLE;
> else
>      bestenc = CAMEL_MIME_PART_ENCODING_BASE64;
> 
> would be clearer
> 
> i.e. make the logic much more obivous that we only even check for qp if
> we are doing text parts.  and then the choice is based upon the most
> compact encoding.
> 
>         }
> 
> 
> ugh, why does pasting into gtkhtml now put the pasted text into a new
> 'cell' ?
> 
> 
> On Tue, 2003-06-10 at 15:37, Jeffrey Stedfast wrote:
> > ok, last try...then I'm going to bed.
> > 
> > Jeff
> > 
> > On Tue, 2003-06-10 at 01:24, Jeffrey Stedfast wrote:
> > > better fix... instead of requiring an istext arg to get_best_encoding(),
> > > instead define a bit CAMEL_BESTENC_TEXT that we pass in at creation
> > > time.
> > > 
> > > 1. this way the code that calls get_best_encoding() doesn't have to know
> > > anything about the content-type
> > > 
> > > 2. also means no API changes.
> > > 
> > > Jeff
> > > 
> > > On Tue, 2003-06-10 at 01:06, Jeffrey Stedfast wrote:
> > > > Don't ever encode non-text streams as quoted-printable.
> > > > 
> > > > (technically you are allowed to do this, but to avoid the gotchas with
> > > > it, it's easier to just force base64)
> 
> _______________________________________________
> Evolution-patches mailing list
> Evolution-patches lists ximian com
> http://lists.ximian.com/mailman/listinfo/evolution-patches
-- 
Jeffrey Stedfast
Evolution Hacker - Ximian, Inc.
fejj ximian com  - www.ximian.com




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]