Subject: Re: Questions about iconv.h
To: None <cube@cubidou.net>
From: Masao Uebayashi <uebayasi@pultek.co.jp>
List: tech-userlevel
Date: 10/28/2004 18:37:40
> The error in AbiWord suggests it treats __tag_iconv_t structure as a
> forward declaration.  However, I can't seem to reproduce that
> behaviour with simple test code.  What could possibly require an
> actual content for the structure from C++ code?  I can't see anything
> blatantly wrong with AbiWord code about that.

I figured out that this error is caused by the line...

abi/src/af/util/xp/ut_iconv.cpp:69
--------8<--------8<--------8<--------8<--------8<--------8<--------8<
/*!
 * Convert characters from in_charset to out_charset
 */
auto_iconv::auto_iconv(const char * in_charset, const char *out_charset)
  UT_THROWS((UT_iconv_t))
{
  UT_iconv_t cd = UT_iconv_open (out_charset, in_charset);

  if (!UT_iconv_isValid(cd))
    UT_THROW(cd); <<<<<<<<<<<<<<<<<<<<<<<< HERE!!!
  m_h = cd;
}
--------8<--------8<--------8<--------8<--------8<--------8<--------8<

And this seems a GCC bug.

	http://gcc.gnu.org/ml/gcc/2001-09/msg00546.html

(No idea how to fix / work-around from me.)

Masao