daemon: added user options counter

This commit is contained in:
Evgeny Grin (Karlson2k)
2021-03-15 15:54:54 +03:00
parent 4c0247d46b
commit 1717035dfb
2 changed files with 13 additions and 0 deletions
+4
View File
@@ -5403,6 +5403,9 @@ parse_options_va (struct MHD_Daemon *daemon,
while (MHD_OPTION_END != (opt = (enum MHD_OPTION) va_arg (ap, int)))
{
/* Increase counter at start, so resulting value is number of
* processed options, including any failed ones. */
daemon->num_opts++;
switch (opt)
{
case MHD_OPTION_CONNECTION_MEMORY_LIMIT:
@@ -5784,6 +5787,7 @@ parse_options_va (struct MHD_Daemon *daemon,
#endif /* HAVE_MESSAGES */
break;
case MHD_OPTION_ARRAY:
daemon->num_opts--; /* Do not count MHD_OPTION_ARRAY */
oa = va_arg (ap, struct MHD_OptionItem*);
i = 0;
while (MHD_OPTION_END != (opt = oa[i].option))
+9
View File
@@ -1920,6 +1920,15 @@ struct MHD_Daemon
* The size of queue for listen socket.
*/
unsigned int listen_backlog_size;
/**
* The number of user options used.
*
* Contains number of only meaningful options, i.e. #MHD_OPTION_END
* and #MHD_OPTION_ARRAY are not counted, while options inside
* #MHD_OPTION_ARRAY are counted.
*/
size_t num_opts;
};