mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-06-11 16:49:28 +02:00
improve NetBSD-specific code
NetBSD doesn't put packages in /usr/local like /CMakeLists.txt thought. The `#ifdef __NetBSD__` around iconv was actually breaking compilation on NetBSD when using the system libiconv (there's also a GNU iconv package) A C program included from C++ source broke on NetBSD specifically, work around it. This doesn't fix compilation on NetBSD, which is currently broken, but is closer to correct.
This commit is contained in:
@ -35,9 +35,6 @@
|
||||
constexpr u32 CODEPAGE_SHIFT_JIS = 932;
|
||||
constexpr u32 CODEPAGE_WINDOWS_1252 = 1252;
|
||||
#else
|
||||
#if defined(__NetBSD__)
|
||||
#define LIBICONV_PLUG
|
||||
#endif
|
||||
#include <errno.h>
|
||||
#include <iconv.h>
|
||||
#include <locale.h>
|
||||
@ -528,13 +525,8 @@ std::string CodeTo(const char* tocode, const char* fromcode, std::basic_string_v
|
||||
while (src_bytes != 0)
|
||||
{
|
||||
size_t const iconv_result =
|
||||
#if defined(__NetBSD__)
|
||||
iconv(conv_desc, reinterpret_cast<const char**>(&src_buffer), &src_bytes, &dst_buffer,
|
||||
&dst_bytes);
|
||||
#else
|
||||
iconv(conv_desc, const_cast<char**>(reinterpret_cast<const char**>(&src_buffer)),
|
||||
&src_bytes, &dst_buffer, &dst_bytes);
|
||||
#endif
|
||||
if ((size_t)-1 == iconv_result)
|
||||
{
|
||||
if (EILSEQ == errno || EINVAL == errno)
|
||||
|
Reference in New Issue
Block a user