1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
$NetBSD: patch-main.cpp,v 1.2 2019/10/25 10:10:10 kamil Exp $
match iconv(3) prototype
--- main.cpp.orig 2018-03-28 01:22:40.000000000 +0000
+++ main.cpp
@@ -15,6 +15,16 @@
#include "RKComm.h"
#include "RKDevice.h"
#include "RKImage.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
+
extern const char *szManufName[];
CRKLog *g_pLogObject=NULL;
CONFIG_ITEM_VECTOR g_ConfigItemVec;
@@ -168,7 +178,11 @@ bool StringToWideString(char *pszSrc, wc
pIn = (char *)pszSrc;
pOut = (char *)pszDest;
- iRet = iconv(cd, (char **)&pIn, (size_t *)&nSrcLen, (char **)&pOut, (size_t *)&nDestLen);
+#if defined(__NetBSD__) && !NETBSD_POSIX_ICONV
+ iRet = iconv(cd, (const char **)&pIn, (size_t *)&nSrcLen, (char **)&pOut, (size_t *)&nDestLen);
+#else
+ iRet = iconv(cd, &pIn, (size_t *)&nSrcLen, (char **)&pOut, (size_t *)&nDestLen);
+#endif
if(iRet == -1) {
delete []pszDest;
@@ -205,7 +219,11 @@ bool WideStringToString(wchar_t *pszSrc,
char *pIn, *pOut;
pIn = (char *)pszSrc;
pOut = (char *)pszDest;
+#if defined(__NetBSD__) && !NETBSD_POSIX_ICONV
+ iRet = iconv(cd, (const char **)&pIn, (size_t *)&nSrcLen, (char **)&pOut, (size_t *)&nDestLen);
+#else
iRet = iconv(cd, (char **)&pIn, (size_t *)&nSrcLen, (char **)&pOut, (size_t *)&nDestLen);
+#endif
if(iRet == -1) {
delete []pszDest;
|