/[grub]/grub2/normal/main.c
ViewVC logotype

Diff of /grub2/normal/main.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.11 by okuji, Mon Jul 18 20:30:37 2005 UTC revision 1.12 by okuji, Sun Aug 14 19:36:55 2005 UTC
# Line 178  read_config_file (const char *config) Line 178  read_config_file (const char *config)
178    while (get_line (file, cmdline, sizeof (cmdline)))    while (get_line (file, cmdline, sizeof (cmdline)))
179      {      {
180        grub_command_t cmd;        grub_command_t cmd;
181          
182        cmd = grub_command_find (cmdline);        cmd = grub_command_find (cmdline);
183        grub_errno = GRUB_ERR_NONE;        grub_errno = GRUB_ERR_NONE;
184          
185          if (cur_entry)
186            {
187              if (! cmd || ! (cmd->flags & GRUB_COMMAND_FLAG_TITLE))
188                {
189                  cur_cmd = (grub_command_list_t) grub_malloc (sizeof (*cur_cmd));
190                  if (! cur_cmd)
191                    goto fail;
192                  
193                  cur_cmd->command = grub_strdup (cmdline);
194                  if (! cur_cmd->command)
195                    {
196                      grub_free (cur_cmd);
197                      goto fail;
198                    }
199                  
200                  cur_cmd->next = 0;
201                  
202                  *next_cmd = cur_cmd;
203                  next_cmd = &(cur_cmd->next);
204                  
205                  cur_entry->num++;
206                  continue;
207                }
208            }
209          
210        if (! cmd)        if (! cmd)
211          {          {
212            grub_printf ("Unknown command `%s' is ignored.\n", cmdline);            grub_printf ("Unknown command `%s' is ignored.\n", cmdline);
# Line 218  read_config_file (const char *config) Line 244  read_config_file (const char *config)
244                        
245            menu->size++;            menu->size++;
246          }          }
247        else if (! cur_entry)        else
248          {          {
249            /* Run the command if possible.  */            /* Run the command if possible.  */
250            if (cmd->flags & GRUB_COMMAND_FLAG_MENU)            if (cmd->flags & GRUB_COMMAND_FLAG_MENU)
251              {              {
252                grub_command_execute (cmdline);                grub_command_execute (cmdline, 0);
253                if (grub_errno != GRUB_ERR_NONE)                if (grub_errno != GRUB_ERR_NONE)
254                  {                  {
255                    grub_print_error ();                    grub_print_error ();
# Line 236  read_config_file (const char *config) Line 262  read_config_file (const char *config)
262                continue;                continue;
263              }              }
264          }          }
       else  
         {  
           cur_cmd = (grub_command_list_t) grub_malloc (sizeof (*cur_cmd));  
           if (! cur_cmd)  
             goto fail;  
   
           cur_cmd->command = grub_strdup (cmdline);  
           if (! cur_cmd->command)  
             {  
               grub_free (cur_cmd);  
               goto fail;  
             }  
   
           cur_cmd->next = 0;  
             
           *next_cmd = cur_cmd;  
           next_cmd = &(cur_cmd->next);  
             
           cur_entry->num++;  
         }  
265      }      }
266    
267   fail:   fail:
# Line 463  grub_normal_execute (const char *config, Line 469  grub_normal_execute (const char *config,
469  {  {
470    grub_menu_t menu = 0;    grub_menu_t menu = 0;
471    
472      read_command_list ();
473      read_fs_list ();
474      
475    if (config)    if (config)
476      {      {
477        menu = read_config_file (config);        menu = read_config_file (config);
# Line 471  grub_normal_execute (const char *config, Line 480  grub_normal_execute (const char *config,
480        grub_errno = GRUB_ERR_NONE;        grub_errno = GRUB_ERR_NONE;
481      }      }
482    
   read_command_list ();  
   read_fs_list ();  
     
483    if (menu)    if (menu)
484      {      {
485        grub_menu_run (menu, nested);        grub_menu_run (menu, nested);

Legend:
Removed from v.1.11  
changed lines
  Added in v.1.12

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26