Fix handling of leading spaces in scripts.

* grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
	spaces.
	* grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
	other than skipping \r. All users updated.
	* tests/grub_script_echo1.in: Add space-related tests.
	* util/grub-menulst2cfg.c (main): Remove useless space skipping.
This commit is contained in:
Vladimir 'phcoder' Serbinenko 2012-03-11 14:43:18 +01:00
parent 1a1ac4f6cb
commit 9fdb2d7b11
10 changed files with 104 additions and 66 deletions

View file

@ -630,11 +630,6 @@ grub_cmdline_get (const char *prompt_translated)
grub_xputs ("\n");
grub_refresh ();
/* Remove leading spaces. */
lpos = 0;
while (buf[lpos] == ' ')
lpos++;
histpos = 0;
if (strlen_ucs4 (buf) > 0)
{
@ -643,7 +638,7 @@ grub_cmdline_get (const char *prompt_translated)
grub_history_add (empty, 0);
}
ret = grub_ucs4_to_utf8_alloc (buf + lpos, llen - lpos + 1);
ret = grub_ucs4_to_utf8_alloc (buf, llen + 1);
grub_free (buf);
grub_free (cl_terms);
return ret;