(job_next_command): Skip empty lines.
authorRoland McGrath <roland@redhat.com>
Wed, 26 Apr 1995 21:15:25 +0000 (21:15 +0000)
committerRoland McGrath <roland@redhat.com>
Wed, 26 Apr 1995 21:15:25 +0000 (21:15 +0000)
(new_job): Don't test the return of job_next_command.
Just let start_waiting_job handle the case of empty commands.

job.c

diff --git a/job.c b/job.c
index 01b07e9..77bbbae 100644 (file)
--- a/job.c
+++ b/job.c
@@ -945,23 +945,17 @@ new_job (file)
   c->environment = 0;
 
   /* Fetch the first command line to be run.  */
-  if (! job_next_command (c))
-    {
-      /* There were no commands!  */
-      free_child (c);
-      c->file->update_status = 0;
-    }
-  else
-    {
-      /* The job is now primed.  Start it running.  */
-      start_waiting_job (c);
-
-      if (job_slots == 1)
-       /* Since there is only one job slot, make things run linearly.
-          Wait for the child to die, setting the state to `cs_finished'.  */
-       while (file->command_state == cs_running)
-         reap_children (1, 0);
-    }
+  job_next_command (c);
+
+  /* The job is now primed.  Start it running.
+     (This will notice if there are in fact no commands.)  */
+  start_waiting_job (c);
+
+  if (job_slots == 1)
+    /* Since there is only one job slot, make things run linearly.
+       Wait for the child to die, setting the state to `cs_finished'.  */
+    while (file->command_state == cs_running)
+      reap_children (1, 0);
 }
 \f
 /* Move CHILD's pointers to the next command for it to execute.
@@ -971,7 +965,7 @@ static int
 job_next_command (child)
      struct child *child;
 {
-  if (child->command_ptr == 0 || *child->command_ptr == '\0')
+  while (child->command_ptr == 0 || *child->command_ptr == '\0')
     {
       /* There are no more lines in the expansion of this line.  */
       if (child->command_line == child->file->cmds->ncommand_lines)