Skip to content

Commit 1fdc14d

Browse files
committed
fix: incorrect defer call
1 parent 588339c commit 1fdc14d

1 file changed

Lines changed: 28 additions & 21 deletions

File tree

pckg/uploader/ftp.go

Lines changed: 28 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -96,35 +96,42 @@ func (uploader *FtpUploader) createDirectoryIfNotExists(conn *ftp.ServerConn, up
9696
directories := strings.Split(uploadFilePathDir, "/")
9797

9898
for i := range directories {
99-
uploader.directoriesMutex.Lock()
100-
defer uploader.directoriesMutex.Unlock()
99+
createDirFunc := func() error {
100+
uploader.directoriesMutex.Lock()
101+
defer uploader.directoriesMutex.Unlock()
101102

102-
remoteDir := filepath.Join(directories[:i+1]...)
103-
if uploader.PreCreatedDirectories[remoteDir] {
104-
continue
105-
}
103+
remoteDir := filepath.Join(directories[:i+1]...)
104+
if uploader.PreCreatedDirectories[remoteDir] {
105+
return nil
106+
}
106107

107-
err := conn.MakeDir(remoteDir)
108-
if err != nil {
109-
currentDir, err := conn.CurrentDir()
108+
err := conn.MakeDir(remoteDir)
110109
if err != nil {
111-
return fmt.Errorf("could not get current directory: %w", err)
112-
}
110+
currentDir, err := conn.CurrentDir()
111+
if err != nil {
112+
return fmt.Errorf("could not get current directory: %w", err)
113+
}
113114

114-
err = conn.ChangeDir(remoteDir)
115+
err = conn.ChangeDir(remoteDir)
115116

116-
if err != nil {
117-
return fmt.Errorf("failed to create ftp directory: %w", err)
118-
}
117+
if err != nil {
118+
return fmt.Errorf("failed to create ftp directory: %w", err)
119+
}
119120

120-
err = conn.ChangeDir(currentDir)
121-
if err != nil {
122-
return fmt.Errorf("failed to reset directory: %w", err)
123-
}
124-
}
121+
err = conn.ChangeDir(currentDir)
122+
if err != nil {
123+
return fmt.Errorf("failed to reset directory: %w", err)
124+
}
125125

126-
uploader.PreCreatedDirectories[remoteDir] = true
126+
uploader.PreCreatedDirectories[remoteDir] = true
127127

128+
}
129+
return nil
130+
}
131+
err := createDirFunc()
132+
if err != nil {
133+
return err
134+
}
128135
}
129136
return nil
130137
}

0 commit comments

Comments
 (0)