From e469e42c76000b70aebaf838f5a3c4ded184b0e3 Mon Sep 17 00:00:00 2001
From: Slávek Banko <slavek.banko@axis.cz>
Date: Sun, 14 Jun 2015 20:29:21 +0200
Subject: Fix several issues on freebsd
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
---
 tdecore/kpty.cpp                         | 13 ++++++++-----
 tdeprint/cups/cupsdconf2/cupsddialog.cpp |  2 +-
 tdeprint/cups/kmcupsmanager.cpp          |  8 ++++----
 tdeui/ksconfig.cpp                       |  2 +-
 4 files changed, 14 insertions(+), 11 deletions(-)

diff --git a/tdecore/kpty.cpp b/tdecore/kpty.cpp
index 727166d87..42abd1aed 100644
--- a/tdecore/kpty.cpp
+++ b/tdecore/kpty.cpp
@@ -68,10 +68,13 @@
 #include <unistd.h>
 #include <grp.h>
 
-#if defined(HAVE_LIBUTIL_H) && (!defined(__FreeBSD__) || __FreeBSD_version < 900007)
+#if defined(HAVE_LIBUTIL_H)
 # include <libutil.h>
-# define USE_LOGIN
-#elif defined(HAVE_UTIL_H)
+# if (!defined(__FreeBSD__) || __FreeBSD_version < 900007)
+#   define USE_LOGIN
+# endif
+#endif
+#if defined(HAVE_UTIL_H)
 # include <util.h>
 # define USE_LOGIN
 #endif
@@ -305,7 +308,7 @@ bool KPty::open()
   if (d->masterFd >= 0)
     return true;
 
-#if defined(__OpenBSD__)
+#if defined(__OpenBSD__) || defined(__FreeBSD__)
   char cpty[16];
 
   if (openpty(&d->masterFd, &d->slaveFd, cpty, NULL, &d->winSize) == 0) {
@@ -580,7 +583,7 @@ int KPty::slaveFd() const
 // private
 bool KPty::chownpty(bool grant)
 {
-#if !defined(__OpenBSD__)
+#if !defined(__OpenBSD__) && !defined(__FreeBSD__)
   TDEProcess proc;
   proc << locate("exe", BASE_CHOWN) << (grant?"--grant":"--revoke") << TQString::number(d->masterFd);
   return proc.start(TDEProcess::Block) && proc.normalExit() && !proc.exitStatus();
diff --git a/tdeprint/cups/cupsdconf2/cupsddialog.cpp b/tdeprint/cups/cupsdconf2/cupsddialog.cpp
index 1800aaae4..066d50953 100644
--- a/tdeprint/cups/cupsdconf2/cupsddialog.cpp
+++ b/tdeprint/cups/cupsdconf2/cupsddialog.cpp
@@ -71,7 +71,7 @@ extern "C"
 
 int getServerPid()
 {
-#if defined(__OpenBSD__)
+#if defined(__OpenBSD__) || defined(__FreeBSD__)
 	TQProcess *proc = new TQProcess();
 	proc->addArgument("pgrep");
 	proc->addArgument("cupsd");
diff --git a/tdeprint/cups/kmcupsmanager.cpp b/tdeprint/cups/kmcupsmanager.cpp
index 5271dcd12..ee1c62728 100644
--- a/tdeprint/cups/kmcupsmanager.cpp
+++ b/tdeprint/cups/kmcupsmanager.cpp
@@ -102,7 +102,7 @@ TQString KMCupsManager::driverDirectory()
 {
 	TQString	d = cupsInstallDir();
 	if (d.isEmpty()) {
-#ifdef __OpenBSD__
+#if defined(__OpenBSD__) || defined(__FreeBSD__)
 		d = "/usr/local";
 #else
 		d = "/usr";
@@ -110,7 +110,7 @@ TQString KMCupsManager::driverDirectory()
 	}
 	d.append("/share/cups/model");
 	// raw foomatic support
-#ifdef __OpenBSD__
+#if defined(__OpenBSD__) || defined(__FreeBSD__)
 	d.append(":/usr/local/share/foomatic/db/source");
 #else
 	d.append(":/usr/share/foomatic/db/source");
@@ -640,7 +640,7 @@ DrMain* KMCupsManager::loadMaticDriver(const TQString& drname)
 {
 	TQStringList	comps = TQStringList::split('/', drname, false);
 	TQString	tmpFile = locateLocal("tmp", "foomatic_" + kapp->randomString(8));
-#ifdef __OpenBSD__
+#if defined(__OpenBSD__) || defined(__FreeBSD__)
 	TQString	PATH = getenv("PATH") + TQString::fromLatin1(":/usr/local/bin:/usr/sbin:/usr/local/sbin:/opt/sbin:/opt/local/sbin");
 #else
 	TQString	PATH = getenv("PATH") + TQString::fromLatin1(":/usr/sbin:/usr/local/sbin:/opt/sbin:/opt/local/sbin");
@@ -959,7 +959,7 @@ void KMCupsManager::exportDriver()
 	{
 		TQString	path = cupsInstallDir();
 		if (path.isEmpty()) {
-#ifdef __OpenBSD__
+#if defined(__OpenBSD__) || defined(__FreeBSD__)
 			path = "/usr/local/share/cups";
 #else
 			path = "/usr/share/cups";
diff --git a/tdeui/ksconfig.cpp b/tdeui/ksconfig.cpp
index ddae27e25..234882939 100644
--- a/tdeui/ksconfig.cpp
+++ b/tdeui/ksconfig.cpp
@@ -188,7 +188,7 @@ KSpellConfig::readGlobalSettings()
   setDictionary    ( kc->readEntry("KSpell_Dictionary") );
   setDictFromList  ( kc->readNumEntry("KSpell_DictFromList", false) );
   setEncoding ( kc->readNumEntry ("KSpell_Encoding", KS_E_UTF8) );
-#ifdef __OpenBSD__
+#if defined(__OpenBSD__) || defined(__FreeBSD__)
   setClient ( kc->readNumEntry ("KSpell_Client", KS_CLIENT_ASPELL) );
 #else
   setClient ( kc->readNumEntry ("KSpell_Client", KS_CLIENT_ISPELL) );
-- 
cgit v1.2.3

