]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
fix grub-script-check
authorBVK Chaitanya <bvk.groups@gmail.com>
Thu, 28 Jan 2010 16:13:28 +0000 (21:43 +0530)
committerBVK Chaitanya <bvk.groups@gmail.com>
Thu, 28 Jan 2010 16:13:28 +0000 (21:43 +0530)
include/grub/script_sh.h
util/grub-script-check.c

index 0bd14abcdebb7cce3d202aeb090c2f9f6fc7cef8..f6177b02a2de606542deb1a49d636f9c98d6121a 100644 (file)
@@ -112,7 +112,7 @@ struct grub_script_cmd_menuentry
   struct grub_script_arglist *arglist;
 
   /* The sourcecode the entry will be generated from.  */
-  char *sourcecode;
+  const char *sourcecode;
 
   /* Options.  XXX: Not used yet.  */
   int options;
index 3bfd6a425a60a6d4a9d1fbcb19a550768c8c03bb..5bc5df1c150e4625096a21fbaf2912291bfeeded 100644 (file)
@@ -82,16 +82,8 @@ grub_script_execute_cmdif (struct grub_script_cmd *cmd __attribute__ ((unused)))
 }
 
 grub_err_t
-grub_script_execute_menuentry (struct grub_script_cmd *cmd)
+grub_script_execute_menuentry (struct grub_script_cmd *cmd __attribute__ ((unused)))
 {
-  struct grub_script_cmd_menuentry *menu;
-  menu = (struct grub_script_cmd_menuentry *)cmd;
-
-  if (menu->sourcecode)
-    {
-      grub_free (menu->sourcecode);
-      menu->sourcecode = 0;
-    }
   return 0;
 }
 
@@ -146,6 +138,7 @@ main (int argc, char *argv[])
   auto grub_err_t get_config_line (char **line, int cont);
   grub_err_t get_config_line (char **line, int cont __attribute__ ((unused)))
   {
+    int i;
     char *cmdline = 0;
     size_t len = 0;
     ssize_t read;
@@ -164,6 +157,17 @@ main (int argc, char *argv[])
     if (verbose)
       grub_printf("%s", cmdline);
 
+    for (i = 0; cmdline[i] != '\0'; i++)
+      {
+       /* Replace tabs and carriage returns with spaces.  */
+       if (cmdline[i] == '\t' || cmdline[i] == '\r')
+         cmdline[i] = ' ';
+
+       /* Replace '\n' with '\0'.  */
+       if (cmdline[i] == '\n')
+         cmdline[i] = '\0';
+      }
+
     *line = grub_strdup (cmdline);
 
     free (cmdline);