Returns: nothing
*/
-void
+static void
read_macro_assignment(uschar *s)
{
uschar name[64];
#ifdef SUPPORT_SOCKS
macro_create(US"_HAVE_SOCKS", US"y", FALSE, TRUE);
#endif
+#ifdef TCP_FASTOPEN
+ macro_create(US"_HAVE_TCP_FASTOPEN", US"y", FALSE, TRUE);
+#endif
#ifdef EXPERIMENTAL_LMDB
macro_create(US"_HAVE_LMDB", US"y", FALSE, TRUE);
#endif
if (value < 0) log_write(0, LOG_PANIC_DIE|LOG_CONFIG_IN,
"integer \"%s\" is too large (overflow)", s);
+ /* We get a coverity error here for using count, as it derived
+ from the tainted buffer pointed to by s, as parsed by sscanf().
+ By the definition of sscanf we must be aceessing between start
+ and end of s (assuming it is nul-terminated...) so ignore the error. */
+ /* coverity[tainted_data] */
if (s[count] == '.')
{
int d = 100;