summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/util/options.c
diff options
context:
space:
mode:
author Miodrag Milanovic <mmicko@gmail.com>2011-01-18 10:31:47 +0000
committer Miodrag Milanovic <mmicko@gmail.com>2011-01-18 10:31:47 +0000
commitf3ac110d763782bd804157769efae6190d8caef7 (patch)
tree722eaacee9c71c336b2bd82e73d71b71e57b862e /src/lib/util/options.c
parentdb4f44350b31a778e85848b451f5d53139e6feae (diff)
Added new flag for options OPTION_DRIVER_ONLY, and marked bios and ramsize as such, since they do not need to be loaded from parent drivers since those are quite driver dependent (no whatsnew)
Diffstat (limited to 'src/lib/util/options.c')
-rw-r--r--src/lib/util/options.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/lib/util/options.c b/src/lib/util/options.c
index 2d53f86aa39..d2d88e77174 100644
--- a/src/lib/util/options.c
+++ b/src/lib/util/options.c
@@ -250,6 +250,23 @@ void options_revert(core_options *opts, int priority)
}
}
+/*-------------------------------------------------
+ options_revert_driver_only - revert options
+ that are marked as driver only and are under
+ priority level
+-------------------------------------------------*/
+
+void options_revert_driver_only(core_options *opts, int priority)
+{
+ options_data *data;
+
+ /* iterate over options and revert to defaults if below the given priority */
+ for (data = opts->datalist; data != NULL; data = data->next)
+ if ((data->flags & OPTION_DRIVER_ONLY) && (data->priority < priority)) {
+ astring_cpy(data->data, data->defdata);
+ data->priority = OPTION_PRIORITY_DEFAULT;
+ }
+}
/*-------------------------------------------------
options_copy - copy options from one core_options