New update: 
Reset error number before returning from grub_script_execute_cmdline.

This will solve the problem that the menu is not displayed when some command
fails.

-- 
Bean
        * normal/execute.c (grub_script_execute_cmdline): Reset error number
        before returning from grub_script_execute_cmdline.


Index: normal/execute.c
===================================================================
RCS file: /sources/grub/grub2/normal/execute.c,v
retrieving revision 1.4
diff -u -r1.4 execute.c
--- normal/execute.c    28 May 2006 21:58:34 -0000      1.4
+++ normal/execute.c    27 Jun 2007 11:27:13 -0000
@@ -119,7 +124,8 @@
              grub_errno = GRUB_ERR_NONE;
            }
          grub_free (assign);
-         return 0;
+         ret = grub_errno;
+         goto quit;
        }
     }
 
@@ -168,9 +174,11 @@
     grub_free (args[i]);
   grub_free (args);
 
+quit:
   grub_sprintf (errnobuf, "%d", ret);
   grub_env_set ("?", errnobuf);
 
+  grub_errno = 0;
   return ret;
 }
 
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to