projects
/
debian
/
elilo
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Imported Debian patch 3.4-9
[debian/elilo]
/
choosers
/
textmenu.c
diff --git
a/choosers/textmenu.c
b/choosers/textmenu.c
index 9379b0e2034e7691709a609b8dde2635c08a1359..a8067b4b5496b49e344b6369c9f710734416b072 100644
(file)
--- a/
choosers/textmenu.c
+++ b/
choosers/textmenu.c
@@
-28,7
+28,7
@@
#include "elilo.h"
#include "elilo.h"
-#define MAX_LABELS
16
+#define MAX_LABELS
64
#define MSGBUFLEN 4096
static UINT8 msgbuf[MSGBUFLEN];
#define MSGBUFLEN 4096
static UINT8 msgbuf[MSGBUFLEN];
@@
-414,14
+414,14
@@
restart:
if (label[0])
ret = find_label(label, kname, args, initrd_name);
else
if (label[0])
ret = find_label(label, kname, args, initrd_name);
else
- ret = find_label(
argv[index]
, kname, args, initrd_name);
+ ret = find_label(
(index < argc) ? argv[index] : NULL
, kname, args, initrd_name);
/*
* not found, so assume first argument is kernel name and
* not label name
*/
if (ret == -1) {
/*
* not found, so assume first argument is kernel name and
* not label name
*/
if (ret == -1) {
- if (
argv[index])
+ if (
(index < argc) && argv[index])
StrCpy(kname, argv[index]);
else
StrCpy(kname, elilo_opt.default_kernel);
StrCpy(kname, argv[index]);
else
StrCpy(kname, elilo_opt.default_kernel);
@@
-460,6
+460,7
@@
restart:
if (ret != 0) {
elilo_opt.prompt = 1;
elilo_opt.timeout = ELILO_TIMEOUT_INFINITY;
if (ret != 0) {
elilo_opt.prompt = 1;
elilo_opt.timeout = ELILO_TIMEOUT_INFINITY;
+ elilo_opt.initrd[0] = CHAR_NULL;
goto restart;
}
}
goto restart;
}
}