This commit is contained in:
Kovid Goyal 2026-04-24 15:12:24 +05:30
parent 55c4519707
commit 68a4623f37
No known key found for this signature in database
GPG key ID: 06BC317B515ACE7C
2 changed files with 6 additions and 11 deletions

View file

@ -453,8 +453,8 @@ func CopyFolderContents(ctx context.Context, src_folder *os.File, dest_folder *o
do_one := func(src *RefCountedFile, dest *RefCountedFile) bool {
defer func() {
src.Unref()
dest.Unref()
src = src.Unref()
dest = dest.Unref()
}()
if is_cancelled() {
return false
@ -530,17 +530,13 @@ func CopyFolderContents(ctx context.Context, src_folder *os.File, dest_folder *o
completed_channel <- err
return false
}
src = NewRefCountedFile(sf)
if err = MkdirAt(dest_parent.File(), child.Name(), child.Mode().Perm()); err != nil {
completed_channel <- err
return false
}
df, err := OpenDirAt(dest_parent.File(), child.Name())
df, err := CreateDirAt(dest_parent.File(), child.Name(), child.Mode().Perm())
if err != nil {
sf.Close()
completed_channel <- err
return false
}
dest = NewRefCountedFile(df)
src, dest = NewRefCountedFile(sf), NewRefCountedFile(df)
ok = true
return
}
@ -553,7 +549,7 @@ func CopyFolderContents(ctx context.Context, src_folder *os.File, dest_folder *o
if v == nil {
break
}
n := v.Value.(*item)
n := queue.Remove(v).(*item)
if !next_dir(n.src_parent, n.dest_parent, n.child) {
return
}

View file

@ -28,4 +28,3 @@ func readLinkAt(parent *os.File, name string, buf []byte) (n int, err error) {
}
return
}