(job_next_command): Skip empty lines.

(new_job): Don't test the return of job_next_command.
Just let start_waiting_job handle the case of empty commands.
This commit is contained in:
Roland McGrath 1995-04-26 21:15:25 +00:00
parent ed0d607279
commit 5d82479d89

28
job.c
View file

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