summaryrefslogtreecommitdiff
path: root/src/conf_parser.y
diff options
context:
space:
mode:
Diffstat (limited to 'src/conf_parser.y')
-rw-r--r--src/conf_parser.y34
1 files changed, 18 insertions, 16 deletions
diff --git a/src/conf_parser.y b/src/conf_parser.y
index 031b3d1..ef987fe 100644
--- a/src/conf_parser.y
+++ b/src/conf_parser.y
@@ -741,25 +741,27 @@ serverinfo_vhost6: VHOST6 '=' QSTRING ';'
serverinfo_max_clients: T_MAX_CLIENTS '=' NUMBER ';'
{
- if (conf_parser_ctx.pass == 2)
+ if (conf_parser_ctx.pass != 2)
+ break;
+
+ if ($3 < MAXCLIENTS_MIN)
{
- recalc_fdlimit(NULL);
+ char buf[IRCD_BUFSIZE];
- if ($3 < MAXCLIENTS_MIN)
- {
- char buf[IRCD_BUFSIZE];
- ircsprintf(buf, "MAXCLIENTS too low, setting to %d", MAXCLIENTS_MIN);
- yyerror(buf);
- }
- else if ($3 > MAXCLIENTS_MAX)
- {
- char buf[IRCD_BUFSIZE];
- ircsprintf(buf, "MAXCLIENTS too high, setting to %d", MAXCLIENTS_MAX);
- yyerror(buf);
- }
- else
- ServerInfo.max_clients = $3;
+ snprintf(buf, sizeof(buf), "MAXCLIENTS too low, setting to %d", MAXCLIENTS_MIN);
+ yyerror(buf);
+ ServerInfo.max_clients = MAXCLIENTS_MIN;
}
+ else if ($3 > MAXCLIENTS_MAX)
+ {
+ char buf[IRCD_BUFSIZE];
+
+ snprintf(buf, sizeof(buf), "MAXCLIENTS too high, setting to %d", MAXCLIENTS_MAX);
+ yyerror(buf);
+ ServerInfo.max_clients = MAXCLIENTS_MAX;
+ }
+ else
+ ServerInfo.max_clients = $3;
};
serverinfo_hub: HUB '=' TBOOL ';'