mirror of
https://github.com/ipxe/ipxe
synced 2025-12-23 13:30:57 +03:00
[settings] Allow for multiple definitions of each predefined setting
Allow for multiple setting definitions with the same name but different scopes and tags. For example, allow for a "filename" setting with default scope and tag value 67 (for DHCPv4) and a corresponding "filename" setting with IPv6 scope and tag value 59 (for DHCPv6). Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
@@ -126,6 +126,7 @@ static void efi_snp_hii_questions ( struct efi_snp_device *snpdev,
|
||||
struct efi_ifr_builder *ifr,
|
||||
unsigned int varstore_id ) {
|
||||
struct setting *setting;
|
||||
struct setting *previous = NULL;
|
||||
unsigned int name_id;
|
||||
unsigned int prompt_id;
|
||||
unsigned int help_id;
|
||||
@@ -135,6 +136,9 @@ static void efi_snp_hii_questions ( struct efi_snp_device *snpdev,
|
||||
for_each_table_entry ( setting, SETTINGS ) {
|
||||
if ( ! efi_snp_hii_setting_applies ( snpdev, setting ) )
|
||||
continue;
|
||||
if ( previous && ( setting_cmp ( setting, previous ) == 0 ) )
|
||||
continue;
|
||||
previous = setting;
|
||||
name_id = efi_ifr_string ( ifr, "%s", setting->name );
|
||||
prompt_id = efi_ifr_string ( ifr, "%s", setting->description );
|
||||
help_id = efi_ifr_string ( ifr, "http://ipxe.org/cfg/%s",
|
||||
|
||||
Reference in New Issue
Block a user