Date: Tue, 06 Feb 2007 12:22:05 +0900 From: Alexander Nedotsukov <bland@FreeBSD.org> To: Jeremy Messenger <mezz7@cox.net> Cc: freebsd-gnome@FreeBSD.org Subject: Re: Need a suggest the best way to fix iconv.. Message-ID: <45C7F45D.4020407@FreeBSD.org> In-Reply-To: <op.tnaf1tni9aq2h7@mezz.mezzweb.com>
index | next in thread | previous in thread | raw e-mail
Jeremy Messenger wrote:
> Hello folks,
>
> I am not sure what is the best way to fix iconv. I get following build
> error:
>
> ===================================
> client/Text.cpp: In static member function `static std::string&
> Text::convert(const std::string&, std::string&, const std::string&,
> const std::string&)':
> client/Text.cpp:312: error: invalid conversion from `char**' to `const
> char**'
> client/Text.cpp:312: error: initializing argument 2 of `size_t
> libiconv(void*, const char**, size_t*, char**, size_t*)'
> ===================================
>
> The code looks like (last line is 312 line):
>
> ===================================
> size_t rv;
> size_t len = str.length() * 2; // optimization
> size_t inleft = str.length();
> size_t outleft = len;
> tmp.resize(len);
> const char *inbuf = str.data();
> char *outbuf = (char *)tmp.data();
>
> while(inleft > 0) {
> rv = iconv(cd, (char **)&inbuf, &inleft, &outbuf, &outleft);
> ===================================
>
> Which should I change it to?
>
> rv = iconv(cd, (const char **)&inbuf, &inleft, &outbuf, &outleft);
>
> or
>
> rv = iconv(cd, &inbuf, &inleft, &outbuf, &outleft);
This one. And if you have a plan to send your patch back to the authors
it is better to declare inbuf as ICONV_CONST char* as well (though not
sure if their configure smart enough to define that macro. check
produced config.h to be sure).
>
> Both of them build fine. If I remember it correct about that AbiWord
> has ICONV_CONST stuff, so I have chosen add 'const'. But, I am still
> not sure so I rather ask in here to see if I am right or wrong. Thanks.
>
> Cheers,
> Mezz
>
>
> --mezz7@cox.net - mezz@FreeBSD.org
> FreeBSD GNOME Team - FreeBSD Multimedia Hat (ports, not src)
> http://www.FreeBSD.org/gnome/ - gnome@FreeBSD.org
> http://wiki.freebsd.org/multimedia - multimedia@FreeBSD.org
> _______________________________________________
> freebsd-gnome@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-gnome
> To unsubscribe, send any mail to "freebsd-gnome-unsubscribe@freebsd.org"
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?45C7F45D.4020407>
