diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake index 117d306b..4d5ad07a 100644 --- a/ConfigureChecks.cmake +++ b/ConfigureChecks.cmake @@ -45,3 +45,6 @@ if( WITH_SLP ) tde_message_fatal( "openslp is required, but was not found on your system" ) endif( ) endif( ) + +check_symbol_exists( strlcat "string.h" HAVE_STRLCAT_PROTO ) +check_symbol_exists( strlcpy "string.h" HAVE_STRLCPY_PROTO ) diff --git a/config.h.cmake b/config.h.cmake index 38def3f3..3bed93bc 100644 --- a/config.h.cmake +++ b/config.h.cmake @@ -62,9 +62,24 @@ // wifi #cmakedefine WITHOUT_ARTS 1 +/* Define if you have the strlcat prototype */ +#cmakedefine HAVE_STRLCAT_PROTO + +/* Define if you have the strlcpy prototype */ +#cmakedefine HAVE_STRLCPY_PROTO + +#if !defined(HAVE_STRLCAT_PROTO) #ifdef __cplusplus extern "C" { -unsigned long strlcpy(char*, const char*, unsigned long); unsigned long strlcat(char*, const char*, unsigned long); } #endif +#endif + +#if !defined(HAVE_STRLCPY_PROTO) +#ifdef __cplusplus +extern "C" { +unsigned long strlcpy(char*, const char*, unsigned long); +} +#endif +#endif