Re: Patch: Fix for Bug 1164, 2nd try


Subject: Re: Patch: Fix for Bug 1164, 2nd try
From: Vlad Harchev (hvv@hippo.ru)
Date: Tue May 22 2001 - 12:15:02 CDT


On 22 May 2001, Dom Lachowicz wrote:

> > > > It has changed. See above.
> > > > Committer is dom on May 3 (revision 1.58). Dom, can you explain what it is for ?
> > >
> > > Thank you for research. That added chunk:
> > > else
> > > m_mbtowc.initialize();
> > > should be definitely removed.
> >
> > I'm not an iconv expert but I thought we needed something like
> > that to reset the internal state after trying and failing to
> > convert a character. Something *like* that - but not exactly that...
>
> This stops a few SEGVs. The iconv_t pointer was being corrupted and the
> internal state of the MbToWc most definitately needs to be reset.

 Hmm, this shouldn't be happening (or iconv implemenations are guilty in these
SEGVs). The MbToWc does decide whether to reset iconv state judjing
on the return value of iconv() (there are two cases - sequence is invalid or
incomplete - if it's invalid, state is reset automatically and buffer is
emptied- see the code). So, the 'else' you added needs to be removed.

 Best regards,
  -Vlad



This archive was generated by hypermail 2b25 : Sat May 26 2001 - 03:51:06 CDT