Fix bunch of memory problems and implement hdbias

This commit is contained in:
Vladimir 'phcoder' Serbinenko 2010-09-12 14:01:02 +02:00
parent abda0cade5
commit 64ad6157ae
3 changed files with 153 additions and 44 deletions

View file

@ -88,12 +88,18 @@ main (int argc, char **argv)
if (oldname != entryname && oldname)
fprintf (out, "}\n\n");
if (oldname != entryname)
fprintf (out, "menuentry \'%s\' {\n",
grub_legacy_escape (entryname, strlen (entryname)));
{
char *escaped = grub_legacy_escape (entryname, strlen (entryname));
fprintf (out, "menuentry \'%s\' {\n", escaped);
grub_free (escaped);
grub_free (oldname);
}
}
if (parsed)
fprintf (out, "%s%s", entryname ? " " : "", parsed);
grub_free (parsed);
parsed = NULL;
}
if (entryname)
@ -101,6 +107,10 @@ main (int argc, char **argv)
fwrite (out, 1, suffixlen, suffix);
grub_free (buf);
grub_free (suffix);
grub_free (entryname);
if (in != stdin)
fclose (in);
if (out != stdout)