Implement hiddenmenu (not tested)

This commit is contained in:
Vladimir 'phcoder' Serbinenko 2010-09-12 02:55:24 +02:00
parent 237a43b1c1
commit 6c6850ae13
4 changed files with 62 additions and 13 deletions

View file

@ -28,6 +28,9 @@ main (int argc, char **argv)
char *entryname = NULL;
char *buf = NULL;
size_t bufsize = 0;
char *suffix = xstrdup ("");
int suffixlen = 0;
int is_suffix = 0;
if (argc >= 2 && argv[1][0] == '-')
{
@ -74,7 +77,14 @@ main (int argc, char **argv)
char *oldname = NULL;
oldname = entryname;
parsed = grub_legacy_parse (buf, &entryname);
parsed = grub_legacy_parse (buf, &entryname, &is_suffix);
if (is_suffix)
{
suffixlen += strlen (parsed);
suffix = xrealloc (suffix, suffixlen + 1);
strcat (suffix, parsed);
continue;
}
if (oldname != entryname && oldname)
fprintf (out, "}\n\n");
if (oldname != entryname)
@ -89,6 +99,7 @@ main (int argc, char **argv)
if (entryname)
fprintf (out, "}\n\n");
fwrite (out, 1, suffixlen, suffix);
if (in != stdin)
fclose (in);