1 #pragma once 2 3 #if !defined(_RELEASE) && !defined(__cplusplus) && !defined(_WIN32) 4 5 // 6 // We needed to poison certain functions in order to disallow their usage 7 // but not in bundled libs 8 // 9 10 // this is ugly, but needed, because else compilation will fail with: 11 // darktable/src/common/poison.h:16:20: error: poisoning existing macro "strncat" [-Werror] 12 // #pragma GCC poison strncat // use g_strncat 13 #pragma GCC system_header 14 15 //#pragma GCC poison sprintf // use snprintf 16 #pragma GCC poison vsprintf // use vsnprintf 17 #pragma GCC poison strcpy // use g_strlcpy 18 //#pragma GCC poison strncpy // use g_strlcpy 19 #pragma GCC poison strcat // use g_strncat 20 #pragma GCC poison strncat // use g_strncat 21 #pragma GCC poison pthread_create // use dt_pthread_create, musl issues 22 #pragma GCC poison fopen // use g_fopen 23 // #pragma GCC poison open // use g_open -- this one doesn't work 24 #pragma GCC poison unlink // use g_unlink 25 26 #endif 27 28 // modelines: These editor modelines have been set for all relevant files by tools/update_modelines.sh 29 // vim: shiftwidth=2 expandtab tabstop=2 cindent 30 // kate: tab-indents: off; indent-width 2; replace-tabs on; indent-mode cstyle; remove-trailing-spaces modified; 31