On 25. Jan 2025, at 21.02, Andreas M. Kirchwitz via dovecot <dovecot@dovecot.org> wrote:
http-server-settings.c: At top level: ../../src/lib/macros.h:173:14: error: size of unnamed array is negative (sizeof(char[1 - 2 * ((condition) ? 1 : 0)]) > 0 ? FALSE : FALSE) ^ ../../src/lib/macros.h:182:2: note: in expansion of macro ‘COMPILE_ERROR_IF_TRUE’ COMPILE_ERROR_IF_TRUE( \ ^~~~~~~~~~~~~~~~~~~~~ ../../src/lib-settings/settings-parser.h:78:27: note: in expansion of macro ‘COMPILE_ERROR_IF_TYPES_NOT_COMPATIBLE’ { .type = (_enum_type) + COMPILE_ERROR_IF_TYPES_NOT_COMPATIBLE( \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../src/lib-settings/settings-parser.h:125:2: note: in expansion of macro ‘SETTING_DEFINE_STRUCT_TYPE’ SETTING_DEFINE_STRUCT_TYPE(SET_SIZE, SET_FLAG_HIDDEN, uoff_t, key, name, struct_name) ^~~~~~~~~~~~~~~~~~~~~~~~~~ http-server-settings.c:13:2: note: in expansion of macro ‘SETTING_DEFINE_STRUCT_SIZE_HIDDEN’ SETTING_DEFINE_STRUCT_##type("http_server_"#name, name, struct http_server_settings) ^~~~~~~~~~~~~~~~~~~~~~ http-server-settings.c:34:2: note: in expansion of macro ‘DEF’ DEF(SIZE_HIDDEN, socket_send_buffer_size),
The setting types are incorrect. Here's a fix: diff --git a/src/lib-http/http-server.h b/src/lib-http/http-server.h index 91412b570b..c27170777a 100644 --- a/src/lib-http/http-server.h +++ b/src/lib-http/http-server.h @@ -49,8 +49,8 @@ struct http_server_settings { /* The kernel send/receive buffer sizes used for the connection sockets. Configuring this is mainly useful for the test suite. The kernel defaults are used when these settings are 0. */ - size_t socket_send_buffer_size; - size_t socket_recv_buffer_size; + uoff_t socket_send_buffer_size; + uoff_t socket_recv_buffer_size; };