summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOBATA Akio <obache@wizdas.com>2020-08-17 16:07:14 +0900
committerSlávek Banko <slavek.banko@axis.cz>2020-08-17 16:47:37 +0200
commit3dee97b870a1ec044c9a831488d0d19d7fc737a0 (patch)
treec6f8bf4d5a0e6c4f0ac3fdb9fd0892d30716b3c8
parent98a3fd49da14d603aedd2595704085e404bb681a (diff)
downloadtdelibs-3dee97b870a1ec044c9a831488d0d19d7fc737a0.tar.gz
tdelibs-3dee97b870a1ec044c9a831488d0d19d7fc737a0.zip
Add `getservbyname_r` prototype detection to CMake
OpenBSD's prototype is differ than glibc's one, but it is declared. Signed-off-by: OBATA Akio <obache@wizdas.com> (cherry picked from commit 6886dd7e96d475b64ac3c41a96a759c7d5fa2be9)
-rw-r--r--CMakeLists.txt1
-rw-r--r--config.h.cmake2
-rw-r--r--tdecore/network/kresolver_p.h2
3 files changed, 2 insertions, 3 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2184743a1..eba0a1549 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -391,6 +391,7 @@ check_function_exists( getpeername HAVE_GETPEERNAME )
check_function_exists( getprotobyname_r HAVE_GETPROTOBYNAME_R )
check_function_exists( getpt HAVE_GETPT )
check_function_exists( getservbyname_r HAVE_GETSERVBYNAME_R )
+check_symbol_exists( getservbyname_r "netdb.h" HAVE_DECL_GETSERVBYNAME_R )
check_function_exists( getservbyport_r HAVE_GETSERVBYPORT_R )
check_function_exists( getsockname HAVE_GETSOCKNAME )
check_function_exists( getsockopt HAVE_GETSOCKOPT )
diff --git a/config.h.cmake b/config.h.cmake
index 2797b935f..86ff0491f 100644
--- a/config.h.cmake
+++ b/config.h.cmake
@@ -159,7 +159,7 @@
#cmakedefine HAVE_CUPS_1_6 1
/* Define to 1 if you have the declaration of `getservbyname_r', and to 0 if you don't. */
-#undef HAVE_DECL_GETSERVBYNAME_R
+#cmakedefine01 HAVE_DECL_GETSERVBYNAME_R
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'. */
#cmakedefine HAVE_DIRENT_H 1
diff --git a/tdecore/network/kresolver_p.h b/tdecore/network/kresolver_p.h
index 9cc139458..7f74c6fe6 100644
--- a/tdecore/network/kresolver_p.h
+++ b/tdecore/network/kresolver_p.h
@@ -48,7 +48,6 @@ extern TQMutex getXXbyYYmutex;
#endif
/* some systems have the functions, but don't declare them */
-#ifndef __OpenBSD__
#if defined(HAVE_GETSERVBYNAME_R) && !HAVE_DECL_GETSERVBYNAME_R
extern "C" {
struct servent;
@@ -70,7 +69,6 @@ extern "C" {
struct protoent** result);
}
#endif
-#endif
/* decide whether res_init is thread-safe or not */
#if defined(__GLIBC__)