[Evolution-hackers] Re: [evolution-patches] [Mailer] Possible fix for #333213
- From: Jeffrey Stedfast <fejj novell com>
- To: "simon.zheng" <Simon Zheng Sun COM>
- Cc: Evolution Hackers <evolution-hackers gnome org>
- Subject: [Evolution-hackers] Re: [evolution-patches] [Mailer] Possible fix for #333213
- Date: Mon, 06 Mar 2006 10:04:57 -0500
On Sat, 2006-03-04 at 19:03 +0800, simon.zheng wrote:
> Hi Jeffrey and all,
>
> On Fri, 2006-03-03 at 10:00 -0500, Jeffrey Stedfast wrote:
> > The patch is bad because callers of e_iconv() expect errno to be set on
> > -1 and your patch breaks that guarantee.
> >
>
> Yeah, you're right.:) Instead of changing e_iconv(), can we do more
> checking when invoking e_iconv()?
>
> > I would really appreciate seeing the section on iconv in the POSIX.1
> > specification explaining what is meant and entailed by "irreversable
> > conversion" and also whether this count is maintained thru multiple
> > calls to iconv() or not[1].
>
> Post the lastest POSIX.1 specification.
> http://www.opengroup.org/onlinepubs/009695399/functions/iconv.html
>
> "non-identical conversation" should be more exact term. It means "a
> character in the input buffer that is valid, but for which an identical
> character does not exist in the target codeset".
>
> And the return value is only related to the last call to iconv().
>
> So I think it's necessary to add more checking for return value, i.e. -1
> and positive value both mean some problems in conversation. Is that
> possible to change like below?
>
> if ((status == (size_t) -1) || status > (size_t) 0)
> return -1;
you don't need to cast (size_t) 0, but other than that - this type of
fix would be more agreeable with me :)
Jeff
>
> Thanks,
> -Simon
>
> >
> > that answered, yes, probably we should be checking that the count is not
> > > 0 in the composer code and possibly other places in evolution as well.
> >
> >
> > 1. say, for example, I call iconv() and my outbuf isn't large enough -
> > some conversion has still occured and it has possibly already made some
> > "irreversable conversions" but since iconv() will return -1, how do I
> > know? After making my nth call to iconv() finishing the conversion of
> > all the data, will the return code of iconv() be the cumulative count of
> > "irreversable conversions"? or only that of my last call to iconv()?
> >
> > On Fri, 2006-03-03 at 12:13 +0800, simon.zheng wrote:
> > > Hi,
> > >
> > > Bug 333213 – Can't specify the encoding as ISO-8859-15 in mail composer
> > > on Solaris.
> > > http://bugzilla.gnome.org/show_bug.cgi?id=333213
> > >
> > > Attached a patch for review.
> > >
> > > Changing wrapper for iconv(). Translate non-zero value returned by
> > > iconv() to -1.
> > >
> > > Thanks,
> > > -Simon
> > > _______________________________________________
> > > Evolution-patches mailing list
> > > Evolution-patches gnome org
> > > http://mail.gnome.org/mailman/listinfo/evolution-patches
>
--
Jeffrey Stedfast
Evolution Hacker - Novell, Inc.
fejj ximian com - www.novell.com
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]