diff options
-rw-r--r-- | shell/ash.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/shell/ash.c b/shell/ash.c index d81d27d25..8b7c6c627 100644 --- a/shell/ash.c +++ b/shell/ash.c | |||
@@ -17058,12 +17058,14 @@ forkshell_copy(struct forkshell *fs, struct forkshell *new) | |||
17058 | } | 17058 | } |
17059 | #endif | 17059 | #endif |
17060 | #if JOBS_WIN32 | 17060 | #if JOBS_WIN32 |
17061 | new->jobtab = jobtab_copy(); | 17061 | if (njobs) { |
17062 | SAVE_PTR(new->jobtab, "jobtab", NO_FREE); | 17062 | new->jobtab = jobtab_copy(); |
17063 | new->njobs = njobs; | 17063 | SAVE_PTR(new->jobtab, "jobtab", NO_FREE); |
17064 | if (curjob) { | 17064 | new->njobs = njobs; |
17065 | new->curjob = new->jobtab + (curjob - jobtab); | 17065 | if (curjob) { |
17066 | SAVE_PTR(new->curjob, "curjob", NO_FREE); | 17066 | new->curjob = new->jobtab + (curjob - jobtab); |
17067 | SAVE_PTR(new->curjob, "curjob", NO_FREE); | ||
17068 | } | ||
17067 | } | 17069 | } |
17068 | #endif | 17070 | #endif |
17069 | } | 17071 | } |