commit-grub
[Top][All Lists]
Advanced

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

[2361] 2009-06-22 Robert Millan <address@hidden>


From: Robert Millan
Subject: [2361] 2009-06-22 Robert Millan <address@hidden>
Date: Mon, 22 Jun 2009 19:44:38 +0000

Revision: 2361
          http://svn.sv.gnu.org/viewvc/?view=rev&root=grub&revision=2361
Author:   robertmh
Date:     2009-06-22 19:44:38 +0000 (Mon, 22 Jun 2009)
Log Message:
-----------
2009-06-22  Robert Millan  <address@hidden>

        * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
        indexes.  Check for -f explicitly.

Modified Paths:
--------------
    trunk/grub2/ChangeLog
    trunk/grub2/commands/search.c

Modified: trunk/grub2/ChangeLog
===================================================================
--- trunk/grub2/ChangeLog       2009-06-22 19:23:22 UTC (rev 2360)
+++ trunk/grub2/ChangeLog       2009-06-22 19:44:38 UTC (rev 2361)
@@ -1,5 +1,10 @@
 2009-06-22  Robert Millan  <address@hidden>
 
+       * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
+       indexes.  Check for -f explicitly.
+
+2009-06-22  Robert Millan  <address@hidden>
+
        * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
        (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this.  Update all users.
 

Modified: trunk/grub2/commands/search.c
===================================================================
--- trunk/grub2/commands/search.c       2009-06-22 19:23:22 UTC (rev 2360)
+++ trunk/grub2/commands/search.c       2009-06-22 19:44:38 UTC (rev 2361)
@@ -37,6 +37,15 @@
     {0, 0, 0, 0, 0, 0}
   };
 
+enum options
+  {
+    SEARCH_FILE,
+    SEARCH_LABEL,
+    SEARCH_FS_UUID,
+    SEARCH_SET,
+    SEARCH_NO_FLOPPY,
+ };
+
 static void
 search_fs (const char *key, const char *var, int no_floppy, int is_uuid)
 {
@@ -165,15 +174,17 @@
   if (argc == 0)
     return grub_error (GRUB_ERR_INVALID_COMMAND, "no argument specified");
 
-  if (state[3].set)
-    var = state[3].arg ? state[3].arg : "root";
+  if (state[SEARCH_SET].set)
+    var = state[SEARCH_SET].arg ? state[SEARCH_SET].arg : "root";
 
-  if (state[1].set)
-    search_fs (args[0], var, state[4].set, 0);
-  else if (state[2].set)
-    search_fs (args[0], var, state[4].set, 1);
+  if (state[SEARCH_LABEL].set)
+    search_fs (args[0], var, state[SEARCH_NO_FLOPPY].set, 0);
+  else if (state[SEARCH_FS_UUID].set)
+    search_fs (args[0], var, state[SEARCH_NO_FLOPPY].set, 1);
+  else if (state[SEARCH_FILE].set)
+    search_file (args[0], var, state[SEARCH_NO_FLOPPY].set);
   else
-    search_file (args[0], var, state[4].set);
+    return grub_error (GRUB_ERR_INVALID_COMMAND, "unspecified search type");
 
   return grub_errno;
 }





reply via email to

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