code cleanup

This commit is contained in:
Kovid Goyal
2026-04-27 09:54:03 +05:30
parent dc29e102cc
commit ffc39cabfd

View File

@@ -228,23 +228,21 @@ func find_overwrites(src_dir *os.File, dest_dir *os.File) (ans []string, err err
stack.push(".")
for !stack.empty() {
relpath := stack.pop()
if err = func() (err error) {
sd, err := utils.OpenDirAt(src_dir, relpath)
if err != nil {
return nil, err
}
src_children, err := sd.ReadDir(0)
sd.Close()
if err != nil {
return nil, err
return err
}
defer sd.Close()
dd, err := utils.OpenDirAt(dest_dir, relpath)
if err != nil {
return nil, err
return err
}
defer dd.Close()
dest_children, err := dd.ReadDir(0)
dd.Close()
src_children, err := sd.ReadDir(0)
if err != nil {
return nil, err
return err
}
dest_map := make(map[string]os.DirEntry)
for _, x := range dest_children {
@@ -252,16 +250,20 @@ func find_overwrites(src_dir *os.File, dest_dir *os.File) (ans []string, err err
}
for _, x := range src_children {
if d, found := dest_map[x.Name()]; found {
relpath := utils.IfElse(relpath == ".", x.Name(), filepath.Join(relpath, x.Name()))
crelpath := utils.IfElse(relpath == ".", x.Name(), filepath.Join(relpath, x.Name()))
if !d.IsDir() || !x.IsDir() {
ans = append(ans, relpath)
ans = append(ans, crelpath)
} else {
stack.push(relpath)
stack.push(crelpath)
}
} else {
continue
}
}
return
}(); err != nil {
return nil, err
}
}
return
}
@@ -273,35 +275,37 @@ func rename_contents(src_dir *os.File, dest_dir *os.File) (err error) {
stack.push(".")
for !stack.empty() {
relpath := stack.pop()
if err = func() error {
sd, err := utils.OpenDirAt(src_dir, relpath)
if err != nil {
return err
}
src_children, err := sd.ReadDir(0)
if err != nil {
return err
}
defer sd.Close()
dd, err := utils.OpenDirAt(dest_dir, relpath)
if err != nil {
sd.Close()
return err
}
if err = func() error {
defer func() {
sd.Close()
dd.Close()
}()
defer dd.Close()
for {
src_children, err := sd.ReadDir(64)
if err != nil {
if errors.Is(err, io.EOF) {
break
}
return err
}
for _, child := range src_children {
relpath := utils.IfElse(relpath == ".", child.Name(), filepath.Join(relpath, child.Name()))
crelpath := utils.IfElse(relpath == ".", child.Name(), filepath.Join(relpath, child.Name()))
rerr := utils.RenameAt(sd, child.Name(), dd, child.Name())
if rerr != nil {
if child.IsDir() {
stack.push(relpath)
stack.push(crelpath)
} else {
return rerr
}
}
}
}
return nil
}(); err != nil {
return err