fcitx-libthai: fix building with const **char in second argument to iconv

This commit is contained in:
nros 2022-11-03 12:35:00 +00:00
parent 885b53808b
commit 78130c2d73
2 changed files with 6 additions and 7 deletions

View file

@ -1,6 +1,6 @@
$NetBSD: distinfo,v 1.4 2022/04/10 07:59:29 nia Exp $
$NetBSD: distinfo,v 1.5 2022/11/03 12:35:00 nros Exp $
BLAKE2s (fcitx5-libthai-5.0.2.tar.xz) = cd53e04503c9d895a766ac3196995ccb61aa2db93fd3c28460e5577dde773a87
SHA512 (fcitx5-libthai-5.0.2.tar.xz) = 660ba7ec3142cc0d568a1af2d77659778ea83c0b3f1a9fd9ca5fe40969f9f2e41fd7cf66f9932cc6479c25d511f2553f6aedfff64950da7bfc06b92bb5100e63
Size (fcitx5-libthai-5.0.2.tar.xz) = 14556 bytes
SHA1 (patch-src_iconvwrapper.cpp) = 2856fdb143ef45e3aff65c83e74bda58381ae2ea
SHA1 (patch-src_iconvwrapper.cpp) = 7091164fa3e3d205500e91e689ca5e0f051845b5

View file

@ -1,4 +1,4 @@
$NetBSD: patch-src_iconvwrapper.cpp,v 1.1 2022/04/10 07:59:29 nia Exp $
$NetBSD: patch-src_iconvwrapper.cpp,v 1.2 2022/11/03 12:35:00 nros Exp $
Fix building on NetBSD <=9 with non-POSIX iconv.
@ -20,18 +20,17 @@ Fix building on NetBSD <=9 with non-POSIX iconv.
class IconvWrapperPrivate {
public:
IconvWrapperPrivate(iconv_t conv) : conv_(conv) {}
@@ -37,9 +46,13 @@ std::vector<uint8_t> IconvWrapper::tryCo
@@ -37,8 +46,12 @@ std::vector<uint8_t> IconvWrapper::tryCo
result.resize(s.size() * 10);
size_t byteLength = s.size();
size_t byteRemains = result.size();
- char *data = const_cast<char *>(s.data());
char *outData = reinterpret_cast<char *>(result.data());
+#if (defined(__NetBSD__) && !NETBSD_POSIX_ICONV) || defined(__sun)
+ auto err = iconv(conv, s.data(), &byteLength, &outData, &byteRemains);
+ const char *data = s.data();
+#else
+ char *data = const_cast<char *>(s.data());
auto err = iconv(conv, &data, &byteLength, &outData, &byteRemains);
+#endif
auto err = iconv(conv, &data, &byteLength, &outData, &byteRemains);
if (err == static_cast<size_t>(-1)) {
continue;
}