Hello,
By default, if the default is wrong, it is reset to 0. Some users were a bit
puzzled about that, expecting the default to be set to fallback.
Here is a patch.
Changelog :
* stage2/stage2.c (cmain) : if the default entry is wrong, set it to
fallback if fallback is valid, otherwise set it to 0.
--
Thierry LARONDE, Centre de Ressources Informatiques, Archamps - France
http://www.cri74.org
PingOO, serveur de com sur distribution GNU/Linux: http://www.pingoo.org
--- grub/stage2/stage2.c Fri Feb 2 15:18:19 2001
+++ grub/stage2/stage2.c Mon Feb 26 17:25:50 2001
@@ -958,9 +958,12 @@
menu_entries = config_entries + config_len;
/* Check if the default entry is present. Otherwise reset
- DEFAULT_ENTRY. */
- if (default_entry >= num_entries)
- default_entry = 0;
+ it to fallback if fallback is valid, or to DEFAULT_ENTRY
+ if not. */
+ if (default_entry >= num_entries)
+ default_entry = ((fallback_entry < 0)
+ || (fallback_entry >= num_entries)) ?
+ 0 : fallback_entry;
if (is_preset)
close_preset_menu ();