summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSlávek Banko <slavek.banko@axis.cz>2023-06-30 02:19:09 +0200
committerSlávek Banko <slavek.banko@axis.cz>2023-07-04 22:11:07 +0200
commitc69b585fbe2bd59567358767e95789ccad43469e (patch)
tree3d19a290da45ac45190f533fb8f1f647b320d784
parente8336ee59b6ed671ef2a0952f71e0d98f5e0d33b (diff)
downloadtdebase-c69b585fbe2bd59567358767e95789ccad43469e.tar.gz
tdebase-c69b585fbe2bd59567358767e95789ccad43469e.zip
Add detection and, if necessary, prototype for strlcat and strlcpy.
This resolves FTBFS - see issue TDE/tde-packaging-gentoo#299. Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
-rw-r--r--ConfigureChecks.cmake9
-rw-r--r--config.h.cmake27
2 files changed, 36 insertions, 0 deletions
diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake
index 244a6e48a..455fcab01 100644
--- a/ConfigureChecks.cmake
+++ b/ConfigureChecks.cmake
@@ -387,6 +387,15 @@ if( BUILD_TDEIOSLAVES OR BUILD_KSYSGUARD )
endif( )
+# strlcat, strlcpy
+if( BUILD_KSYSGUARD OR BUILD_KCHECKPASS )
+ check_function_exists( strlcat HAVE_STRLCAT )
+ check_symbol_exists( strlcat "string.h" HAVE_STRLCAT_PROTO )
+ check_function_exists( strlcpy HAVE_STRLCPY )
+ check_symbol_exists( strlcpy "string.h" HAVE_STRLCPY_PROTO )
+endif( )
+
+
# getifaddrs (kcontrol, tdm)
if( BUILD_KCONTROL OR BUILD_TDM )
check_function_exists( getifaddrs HAVE_GETIFADDRS )
diff --git a/config.h.cmake b/config.h.cmake
index fec3909f4..3324456f3 100644
--- a/config.h.cmake
+++ b/config.h.cmake
@@ -132,6 +132,33 @@
// kcontrol/input
#cmakedefine HAVE_LIBUSB 1
+// ksysguard, kcheckpass
+#cmakedefine HAVE_STRLCAT 1
+#cmakedefine HAVE_STRLCAT_PROTO 1
+#cmakedefine HAVE_STRLCPY 1
+#cmakedefine HAVE_STRLCPY_PROTO 1
+
+#if !defined(HAVE_STRLCAT_PROTO)
+#ifdef __cplusplus
+extern "C" {
+#endif
+unsigned long strlcat(char*, const char*, unsigned long);
+#ifdef __cplusplus
+}
+#endif
+#endif
+
+#if !defined(HAVE_STRLCPY_PROTO)
+#ifdef __cplusplus
+extern "C" {
+#endif
+unsigned long strlcpy(char*, const char*, unsigned long);
+#ifdef __cplusplus
+}
+#endif
+#endif
+
+
// tdeprint
#cmakedefine HAVE_SIGACTION 1
#cmakedefine HAVE_SIGSET 1