print_string ("#");
print_file (outbuf, menu, filename, NULL);
print_string (" ");
- print (outbuf, newname, grub_strlen (newname));
+ err = print (outbuf, newname, grub_strlen (newname));
+ if (err)
+ return err;
print_string (":\n");
for (menuptr = menu; menuptr; menuptr = menuptr->parent, depth++)
{
case KERNEL_LINUX:
{
- char *ptr;
- char *initrd = NULL;
+ const char *ptr;
+ const char *initrd = NULL, *initrde= NULL;
for (ptr = curentry->append; ptr && *ptr; ptr++)
if ((ptr == curentry->append || grub_isspace (ptr[-1]))
&& grub_strncasecmp (ptr, "initrd=", sizeof ("initrd=") - 1)
break;
if (ptr && *ptr)
{
- char *ptr2;
- initrd = grub_strdup(ptr + sizeof ("initrd=") - 1);
- if (!initrd)
- return grub_errno;
- for (ptr2 = initrd; *ptr2 && !grub_isspace (*ptr2); ptr2++);
- *ptr2 = 0;
+ initrd = ptr + sizeof ("initrd=") - 1;
+ for (initrde = initrd; *initrde && !grub_isspace (*initrde); initrde++);
}
print_string (" if test x$grub_platform = xpc; then "
"linux_suffix=16; else linux_suffix= ; fi\n");
print_file (outbuf, menu, curentry->kernel_file, NULL);
print_string (" ");
if (curentry->append)
- print (outbuf, curentry->append, grub_strlen (curentry->append));
+ {
+ err = print (outbuf, curentry->append, grub_strlen (curentry->append));
+ if (err)
+ return err;
+ }
print_string ("\n");
if (initrd || curentry->initrds)
{
print_string (" initrd$linux_suffix ");
if (initrd)
{
- print_file (outbuf, menu, initrd, NULL);
+ print_file (outbuf, menu, initrd, initrde);
print_string (" ");
}
for (lst = curentry->initrds; lst; lst = lst->next)
print_string ("\n");
}
- grub_free (initrd);
}
break;
case KERNEL_CHAINLOADER:
ptr++;
i386e = ptr;
}
- if (lme)
- *lme = '\0';
+ *lme = '\0';
if (paee)
*paee = '\0';
if (i386e)