From 5f9e2d1ec367529f0a818879bdd78da275645975 Mon Sep 17 00:00:00 2001 From: nia Date: Mon, 7 Mar 2022 16:37:51 +0000 Subject: dosbox-x: do not lose constness of iconv arg on netbsd prior to current --- .../dosbox-x/patches/patch-include_iconvpp.hpp | 34 ++++++++++++++++++++++ .../patches/patch-src_dos_dos__programs.cpp | 2 +- 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 emulators/dosbox-x/patches/patch-include_iconvpp.hpp (limited to 'emulators/dosbox-x/patches') diff --git a/emulators/dosbox-x/patches/patch-include_iconvpp.hpp b/emulators/dosbox-x/patches/patch-include_iconvpp.hpp new file mode 100644 index 00000000000..0c18e5e9cdf --- /dev/null +++ b/emulators/dosbox-x/patches/patch-include_iconvpp.hpp @@ -0,0 +1,34 @@ +$NetBSD: patch-include_iconvpp.hpp,v 1.1 2022/03/07 16:37:52 nia Exp $ + +Support NetBSD 9.x and earlier. + +--- include/iconvpp.hpp.orig 2022-03-07 16:24:10.486063951 +0000 ++++ include/iconvpp.hpp +@@ -31,6 +31,15 @@ + # define ICONV_BIG_ENDIAN BIG_ENDIAN + #endif + ++#if defined(__NetBSD__) ++#include ++#if __NetBSD_Prereq__(9,99,17) ++#define NETBSD_POSIX_ICONV 1 ++#else ++#define NETBSD_POSIX_ICONV 0 ++#endif ++#endif ++ + #include + #include + #include +@@ -247,7 +256,11 @@ public: + iconv(context,NULL,NULL,NULL,NULL); + + /* Ref: [http://man7.org/linux/man-pages/man3/iconv.3.html] */ ++#if defined(__sun) || (defined(__NetBSD__) && !defined(NETBSD_POSIX_ICONV)) ++ int ret = iconv(context,(&(pclass::src_ptr)),&src_left,(char**)(&(pclass::dst_ptr)),&dst_left); ++#else + int ret = iconv(context,(char**)(&(pclass::src_ptr)),&src_left,(char**)(&(pclass::dst_ptr)),&dst_left); ++#endif + + pclass::src_adv = (size_t)(pclass::src_ptr - i_src); + pclass::dst_adv = (size_t)(pclass::dst_ptr - i_dst); diff --git a/emulators/dosbox-x/patches/patch-src_dos_dos__programs.cpp b/emulators/dosbox-x/patches/patch-src_dos_dos__programs.cpp index 86b947a1c7f..fefc6eec488 100644 --- a/emulators/dosbox-x/patches/patch-src_dos_dos__programs.cpp +++ b/emulators/dosbox-x/patches/patch-src_dos_dos__programs.cpp @@ -1,4 +1,4 @@ -$NetBSD: patch-src_dos_dos__programs.cpp,v 1.3 2022/03/04 07:41:14 nia Exp $ +$NetBSD: patch-src_dos_dos__programs.cpp,v 1.4 2022/03/07 16:37:52 nia Exp $ dos_programs.cpp: In member function 'bool AUTOTYPE::ReadDoubleArg(const string&, const char*, const double&, const double&, const double&, double&)': dos_programs.cpp:5556:12: error: expected unqualified-id before '(' token -- cgit v1.2.3