pkgsrc/games/7kaa/patches/patch-src_LocaleRes.cpp
nia 71f7bb748f 7kaa: Update to 2.15.3
This release fixes bugs, improves synchronization in multiplayer, has UI fixes, and adds several advanced config options.

Summary of changes from 2.15.2 to 2.15.3

- Fixed corrupt characters and fields in various in game messages.
- Improved translation support.
- Updated translations.
- Added some UI improvements.
- Fixed some crashing issues related to spies.
- Standardized on FPU code generation for better cross-platform compatibility.
- Added more advanced config options.
- Added more advanced config options.
- Improved manual.
- Added key binding support.
- Prevented chat keystrokes registering as a hotkey too.
- Fixed sometimes hiring wrong unit in the inn.
- Added scenario advanced config presets to restore default scenario game play to original game design parameters.
- Ensure screen redraw when dropping spy identity.
- Improved alternate font set.
- Added scroll button for long tutor messages.
- Removed gong sound for unsent AI diplomatic messages.
- Re-enabled AI ability to request direct military aid; expect allied AI to work together on defending now.
- Removed uninitialized parameter in Caravan CRC check.
- Removed improper variable-size cast, causing incorrect action processing on 64-bit platforms.
- Correct replay initialization for weather sync.
2020-01-08 16:59:07 +00:00

34 lines
871 B
C++

$NetBSD: patch-src_LocaleRes.cpp,v 1.4 2020/01/08 16:59:07 nia Exp $
Support NetBSD and SunOS iconv being special.
--- src/LocaleRes.cpp.orig 2019-12-22 22:27:28.000000000 +0000
+++ src/LocaleRes.cpp
@@ -31,6 +31,15 @@
#include <ConfigAdv.h>
#include <LocaleRes.h>
+#if defined(__NetBSD__)
+#include <sys/param.h>
+#if __NetBSD_Prereq__(9,99,17)
+#define NETBSD_POSIX_ICONV 1
+#else
+#define NETBSD_POSIX_ICONV 0
+#endif
+#endif
+
//------------- End of function Constructor -------//
//
LocaleRes::LocaleRes()
@@ -191,7 +200,11 @@ const char *LocaleRes::conv_str(iconv_t
size_t c;
while( in_left>0 )
{
+#if (defined(__NetBSD__) && !NETBSD_POSIX_ICONV) || defined(__sun)
+ c = iconv(cd, (const char **)&p1, &in_left, &p2, &out_left);
+#else
c = iconv(cd, &p1, &in_left, &p2, &out_left);
+#endif
if( c == (size_t)-1 )
return s;
if( in_left )