From 57704cfa685880843a7fcf9250870396fd50a2fa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
Date: Sat, 24 Dec 2016 21:38:44 +0100
Subject: [PATCH] [PATCH] Fixes to build on Haiku, originally from
 waddlesplash.

---
 qtools/qglobal.h        |  6 ++++--
 qtools/qthread_unix.cpp | 12 ++++++------
 src/doxygen.cpp         |  2 +-
 3 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/qtools/qglobal.h b/qtools/qglobal.h
index c3f7594..997fd92 100644
--- a/qtools/qglobal.h
+++ b/qtools/qglobal.h
@@ -1,5 +1,5 @@
 /****************************************************************************
-**
+**
 **
 ** Global type declarations and definitions
 **
@@ -134,6 +134,8 @@
 #define _OS_CYGWIN_
 #elif defined(__BEOS__)
 #define _OS_BEOS_
+#elif defined(__HAIKU__)
+#define _OS_HAIKU_
 #elif defined(__MINT__)
 #define _OS_MINT_
 #else
@@ -276,7 +278,7 @@
 #define _CC_V2002
 #else
 #define _CC_V1998
-#endif
+#endif
 #endif

 #ifndef Q_PACKED
diff --git a/qtools/qthread_unix.cpp b/qtools/qthread_unix.cpp
index b536583..a1bbaa6 100644
--- a/qtools/qthread_unix.cpp
+++ b/qtools/qthread_unix.cpp
@@ -132,7 +132,7 @@ void QThread::start()
     pthread_attr_t attr;
     pthread_attr_init(&attr);
     pthread_attr_setdetachstate(&attr,PTHREAD_CREATE_DETACHED);
-    pthread_attr_setinheritsched(&attr, PTHREAD_INHERIT_SCHED);
+//    pthread_attr_setinheritsched(&attr, PTHREAD_INHERIT_SCHED);
     if (d->stackSize>0)
     {
 #if defined(_POSIX_THREAD_ATTR_STACKSIZE) && (_POSIX_THREAD_ATTR_STACKSIZE-0>0)
@@ -199,12 +199,12 @@ int QThread::idealThreadCount()
 #elif defined(_OS_HPUX_)
     // HP-UX
     struct pst_dynamic psd;
-    if (pstat_getdynamic(&psd, sizeof(psd), 1, 0) == -1)
+    if (pstat_getdynamic(&psd, sizeof(psd), 1, 0) == -1)
     {
       perror("pstat_getdynamic");
       cores = -1;
-    }
-    else
+    }
+    else
     {
       cores = (int)psd.psd_proc_cnt;
     }
@@ -215,7 +215,7 @@ int QThread::idealThreadCount()
     mib[0] = CTL_HW;
     mib[1] = HW_NCPU;

-    if (sysctl(mib, 2, &cores, &len, NULL, 0) != 0)
+    if (sysctl(mib, 2, &cores, &len, NULL, 0) != 0)
     {
       perror("sysctl");
       cores = -1;
@@ -227,6 +227,6 @@ int QThread::idealThreadCount()
     // the rest: Linux, Solaris, AIX, Tru64
     cores = (int)sysconf(_SC_NPROCESSORS_ONLN);
 #endif
-    return cores;
+    return cores;
 }

diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index d649ce5..0327db4 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -10315,7 +10315,7 @@ void readConfiguration(int argc, char **argv)
           Config::init();
           if (optind+4<argc || QFileInfo("Doxyfile").exists())
           {
-            QCString df = optind+4<argc ? argv[optind+4] : QCString("Doxyfile");
+            QCString df = optind+4<argc ? (QCString)argv[optind+4] : QCString("Doxyfile");
             if (!Config::parse(df))
             {
               err("error opening or reading configuration file %s!\n",argv[optind+4]);
--
2.10.2

