grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] acpi: Use options enum to index command options


From: Glenn Washburn
Subject: [PATCH] acpi: Use options enum to index command options
Date: Fri, 14 Jul 2023 15:32:04 -0500

Signed-off-by: Glenn Washburn <development@efficientek.com>
---
 grub-core/commands/acpi.c | 46 +++++++++++++++++++++++++--------------
 1 file changed, 30 insertions(+), 16 deletions(-)

diff --git a/grub-core/commands/acpi.c b/grub-core/commands/acpi.c
index 1c034463cf0f..31fc60e2cb26 100644
--- a/grub-core/commands/acpi.c
+++ b/grub-core/commands/acpi.c
@@ -38,6 +38,20 @@
 
 GRUB_MOD_LICENSE ("GPLv3+");
 
+enum
+  {
+    OPTION_EXCLUDE,
+    OPTION_LOAD_ONLY,
+    OPTION_V1,
+    OPTION_V2,
+    OPTION_OEMID,
+    OPTION_OEMTABLE,
+    OPTION_OEMTABLEREV,
+    OPTION_OEMTABLECREATOR,
+    OPTION_OEMTABLECREATORREV,
+    OPTION_NO_EBDA
+  };
+
 static const struct grub_arg_option options[] = {
   {"exclude", 'x', 0,
    N_("Don't load host tables specified by comma-separated list."),
@@ -497,14 +511,14 @@ grub_cmd_acpi (struct grub_extcmd_context *ctxt, int 
argc, char **args)
       /* RSDT consists of header and an array of 32-bit pointers. */
       struct grub_acpi_table_header *rsdt;
 
-      exclude = state[0].set ? grub_strdup (state[0].arg) : 0;
+      exclude = state[OPTION_EXCLUDE].set ? grub_strdup 
(state[OPTION_EXCLUDE].arg) : 0;
       if (exclude)
        {
          for (ptr = exclude; *ptr; ptr++)
            *ptr = grub_tolower (*ptr);
        }
 
-      load_only = state[1].set ? grub_strdup (state[1].arg) : 0;
+      load_only = state[OPTION_EXCLUDE].set ? grub_strdup 
(state[OPTION_EXCLUDE].arg) : 0;
       if (load_only)
        {
          for (ptr = load_only; *ptr; ptr++)
@@ -612,26 +626,26 @@ grub_cmd_acpi (struct grub_extcmd_context *ctxt, int 
argc, char **args)
     }
 
   /* Does user specify versions to generate? */
-  if (state[2].set || state[3].set)
+  if (state[OPTION_V1].set || state[OPTION_V2].set)
     {
-      rev1 = state[2].set;
-      if (state[3].set)
+      rev1 = state[OPTION_V1].set;
+      if (state[OPTION_V2].set)
        rev2 = rev2 ? : 2;
       else
        rev2 = 0;
     }
 
   /* Does user override root header information? */
-  if (state[4].set)
-    grub_strncpy (root_oemid, state[4].arg, sizeof (root_oemid));
-  if (state[5].set)
-    grub_strncpy (root_oemtable, state[5].arg, sizeof (root_oemtable));
-  if (state[6].set)
-    root_oemrev = grub_strtoul (state[6].arg, 0, 0);
-  if (state[7].set)
-    grub_strncpy (root_creator_id, state[7].arg, sizeof (root_creator_id));
-  if (state[8].set)
-    root_creator_rev = grub_strtoul (state[8].arg, 0, 0);
+  if (state[OPTION_OEMID].set)
+    grub_strncpy (root_oemid, state[OPTION_OEMID].arg, sizeof (root_oemid));
+  if (state[OPTION_OEMTABLE].set)
+    grub_strncpy (root_oemtable, state[OPTION_OEMTABLE].arg, sizeof 
(root_oemtable));
+  if (state[OPTION_OEMTABLEREV].set)
+    root_oemrev = grub_strtoul (state[OPTION_OEMTABLEREV].arg, 0, 0);
+  if (state[OPTION_OEMTABLECREATOR].set)
+    grub_strncpy (root_creator_id, state[OPTION_OEMTABLECREATOR].arg, sizeof 
(root_creator_id));
+  if (state[OPTION_OEMTABLECREATORREV].set)
+    root_creator_rev = grub_strtoul (state[OPTION_OEMTABLECREATORREV].arg, 0, 
0);
 
   /* Load user tables */
   for (i = 0; i < argc; i++)
@@ -747,7 +761,7 @@ grub_cmd_acpi (struct grub_extcmd_context *ctxt, int argc, 
char **args)
   acpi_tables = 0;
 
 #if defined (__i386__) || defined (__x86_64__)
-  if (! state[9].set)
+  if (! state[OPTION_NO_EBDA].set)
     {
       grub_err_t err;
       err = grub_acpi_create_ebda ();
-- 
2.34.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]