refactor(options): reduce findoption() usage

Problem: Many places in the code use `findoption()` to access an option using its name, even if the option index is available. This is very slow because it requires looping through the options array over and over.

Solution: Use option index instead of name wherever possible. Also introduce an `OptIndex` enum which contains the index for every option as enum constants, this eliminates the need to pass static option names as strings.
This commit is contained in:
Famiu Haque
2023-12-07 23:46:57 +06:00
parent 29aa4dd10a
commit 6346987601
39 changed files with 336 additions and 352 deletions

View File

@@ -704,7 +704,7 @@ char *au_event_disable(char *what)
} else {
STRCAT(new_ei, what);
}
set_string_option_direct("ei", -1, new_ei, OPT_FREE, SID_NONE);
set_string_option_direct(kOptEventignore, new_ei, OPT_FREE, SID_NONE);
xfree(new_ei);
return save_ei;
}
@@ -712,7 +712,7 @@ char *au_event_disable(char *what)
void au_event_restore(char *old_ei)
{
if (old_ei != NULL) {
set_string_option_direct("ei", -1, old_ei, OPT_FREE, SID_NONE);
set_string_option_direct(kOptEventignore, old_ei, OPT_FREE, SID_NONE);
xfree(old_ei);
}
}