Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:12.2
trustedgrub
grub-R
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File grub-R of Package trustedgrub
Index: TrustedGRUB-1.1.3/stage2/builtins.c =================================================================== --- TrustedGRUB-1.1.3.orig/stage2/builtins.c +++ TrustedGRUB-1.1.3/stage2/builtins.c @@ -787,11 +787,11 @@ static int default_func (char *arg, int flags) { #ifndef SUPPORT_DISKLESS - if (grub_strcmp (arg, "saved") == 0) + if (grub_strcmp (arg, "saved") == 0 || (saved_entryno & 0x4000)) { - default_entry = saved_entryno; - return 0; + default_entry = saved_entryno & 0x3fff; } + else #endif /* SUPPORT_DISKLESS */ if (! safe_parse_maxint (&arg, &default_entry)) @@ -812,6 +812,22 @@ static struct builtin builtin_default = #endif }; +#ifndef SUPPORT_DISKLESS +static int savedefault_func (char *arg, int flags); +void __savedefault_once_reset() +{ + if (saved_entryno & 0x4000) + { + int saved_current_entryno = current_entryno; + grub_timeout = 0; + current_entryno = default_entry; + savedefault_func("\0", BUILTIN_SCRIPT); + current_entryno = saved_current_entryno; + saved_entryno &= 0x3fff; + } +} +#endif /* SUPPORT_DISKLESS */ + #ifdef GRUB_UTIL /* device */ Index: TrustedGRUB-1.1.3/stage2/stage2.c =================================================================== --- TrustedGRUB-1.1.3.orig/stage2/stage2.c +++ TrustedGRUB-1.1.3/stage2/stage2.c @@ -1217,6 +1217,7 @@ get_line_from_config (char *cmdline, int return pos; } +extern void __savedefault_once_reset(); /* This is the starting function in C. */ void @@ -1490,7 +1491,9 @@ cmain (void) } while (is_preset); } - +#ifndef SUPPORT_DISKLESS + __savedefault_once_reset(); +#endif if (! num_entries) { /* If no acceptable config file, goto command-line, starting
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor