Do not rely on dead code elimination, use array instead.

Make options bits derived from size and count. Use size of option bits
and last supported bit in computation. No new change would be required
when new options are added. Just change OPT_LAST constant.
This commit is contained in:
Petr Menšík
2018-10-24 22:30:18 +01:00
committed by Simon Kelley
parent 6f7812d97b
commit 24b87607c1
2 changed files with 9 additions and 12 deletions

View File

@@ -1490,18 +1490,12 @@ static int parse_dhcp_opt(char *errstr, char *arg, int flags)
void set_option_bool(unsigned int opt)
{
if (opt < 32)
daemon->options |= 1u << opt;
else
daemon->options2 |= 1u << (opt - 32);
option_var(opt) |= option_val(opt);
}
void reset_option_bool(unsigned int opt)
{
if (opt < 32)
daemon->options &= ~(1u << opt);
else
daemon->options2 &= ~(1u << (opt - 32));
option_var(opt) &= ~(option_val(opt));
}
static int one_opt(int option, char *arg, char *errstr, char *gen_err, int command_line, int servers_only)