Skip to content

Commit e40e29b

Browse files
committed
fix defer func statements order in workerS.parse()
1 parent 6a6b8f2 commit e40e29b

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

cli/for_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -949,6 +949,7 @@ func (*workerS) Version() string { return "v0
949949
func (*workerS) Root() *RootCommand { return nil }
950950
func (*workerS) Args() []string { return nil } //
951951
func (w *workerS) SuggestRetCode() int { return w.retCode } //
952+
func (w *workerS) ParsedState() ParsedState { return nil }
952953

953954
//
954955

cli/worker/parse.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,19 +19,19 @@ func (w *workerS) parse(ctx context.Context, pc *parseCtx) (err error) { //nolin
1919
ec := errorsv3.New("tasks failed")
2020

2121
defer func() {
22-
ec.Defer(&err)
23-
24-
if err == nil {
25-
w.parsingCtx = pc // save pc for later, OnAction might need it.
26-
}
27-
2822
if len(w.tasksAfterParse) > 0 {
2923
for _, task := range w.tasksAfterParse {
3024
if task != nil {
3125
ec.Attach(task(w, pc, err))
3226
}
3327
}
3428
}
29+
30+
ec.Defer(&err)
31+
32+
if err == nil {
33+
w.parsingCtx = pc // save pc for later, OnAction might need it.
34+
}
3535
}()
3636

3737
logz.VerboseContext(ctx, "parsing command line args ...", "args", w.args)

0 commit comments

Comments
 (0)