$NetBSD: patch-ao,v 1.2 2007/11/22 18:51:25 drochner Exp $

--- ./src/corelib/codecs/qiconvcodec.cpp.orig	2007-10-01 15:06:02.000000000 +0200
+++ ./src/corelib/codecs/qiconvcodec.cpp
@@ -44,7 +44,7 @@
 
 // unistd.h is needed for the _XOPEN_UNIX macro
 #include <unistd.h>
-#if defined(_XOPEN_UNIX) && !defined(Q_OS_QNX6) && !defined(Q_OS_OSF)
+#if (defined(_XOPEN_UNIX) && !defined(Q_OS_QNX6) && !defined(Q_OS_OSF)) || defined(Q_OS_NETBSD)
 #  include <langinfo.h>
 #endif
 
@@ -95,7 +95,7 @@ QString QIconvCodec::convertToUnicode(co
     QByteArray ba;
     size_t outBytesLeft = len * 2 + 2;
     ba.resize(outBytesLeft);
-#ifdef GNU_LIBICONV
+#if defined(GNU_LIBICONV) || defined(__NetBSD__)
     // GNU doesn't disagree with POSIX :/
     const char *inBytes = chars;
 #else
@@ -155,7 +155,7 @@ QByteArray QIconvCodec::convertFromUnico
     ba.resize(outBytesLeft);
     char *outBytes = ba.data();
 
-#if defined(GNU_LIBICONV)
+#if defined(GNU_LIBICONV) || defined(__NetBSD__)
     const char *inBytes;
 #else
     char *inBytes;
@@ -165,7 +165,7 @@ QByteArray QIconvCodec::convertFromUnico
 #if !defined(NO_BOM)
     // give iconv() a BOM
     QChar bom[] = { QChar(QChar::ByteOrderMark) };
-#ifdef GNU_LIBICONV
+#if defined(GNU_LIBICONV) || defined(__NetBSD__)
     // GNU doesn't disagree with POSIX :/
     inBytes = reinterpret_cast<const char *>(bom);
 #else
@@ -179,7 +179,7 @@ QByteArray QIconvCodec::convertFromUnico
 #endif // NO_BOM
 
     // now feed iconv() the real data
-#ifdef GNU_LIBICONV
+#if defined(GNU_LIBICONV) || defined(__NetBSD__)
     // GNU doesn't disagree with POSIX :/
     inBytes = reinterpret_cast<const char *>(uc);
 #else
@@ -244,7 +244,7 @@ iconv_t QIconvCodec::createIconv_t(const
     char *codeset = 0;
 #endif
 
-#if defined(_XOPEN_UNIX) && !defined(Q_OS_QNX6) && !defined(Q_OS_OSF)
+#if (defined(_XOPEN_UNIX) && !defined(Q_OS_QNX6) && !defined(Q_OS_OSF)) || defined(Q_OS_NETBSD)
     if (cd == (iconv_t) -1) {
         codeset = nl_langinfo(CODESET);
         if (codeset)
