From 7f9a85316a3d112f5627c45aac4de85ff5777d82 Mon Sep 17 00:00:00 2001 From: marco_g Date: Fri, 22 Sep 2006 21:32:48 +0000 Subject: [PATCH] 2006-09-22 Marco Gerards * normal/script.c (grub_script_create_cmdmenu): Skip leading newlines. --- ChangeLog | 5 +++++ normal/script.c | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/ChangeLog b/ChangeLog index e8ccd3bdd..2882cd840 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2006-09-22 Marco Gerards + + * normal/script.c (grub_script_create_cmdmenu): Skip leading + newlines. + 2006-09-22 Marco Gerards * commands/echo.c: New file. diff --git a/normal/script.c b/normal/script.c index dc4c2f12a..2873f25ff 100644 --- a/normal/script.c +++ b/normal/script.c @@ -214,6 +214,11 @@ grub_script_create_cmdmenu (struct grub_parser_param *state, struct grub_script_cmd_menuentry *cmd; int i; + /* Skip leading newlines to make the sourcecode better readable when + using the editor. */ + while (*sourcecode == '\n') + sourcecode++; + /* Having trailing returns can some some annoying conflicts, remove them. XXX: Can the parser be improved to handle this? */ for (i = grub_strlen (sourcecode) - 1; i > 0; i--) @@ -226,6 +231,7 @@ grub_script_create_cmdmenu (struct grub_parser_param *state, cmd = grub_script_malloc (state, sizeof (*cmd)); cmd->cmd.exec = grub_script_execute_menuentry; cmd->cmd.next = 0; + /* XXX: Check if this memory is properly free'ed. */ cmd->sourcecode = sourcecode; cmd->title = title; cmd->options = options;