Opening file to write if the destination alredy exists in SafeCopy
This commit is contained in:
@@ -263,11 +263,20 @@ func SafeCopy(L *lua.LState) int {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dst, err := os.Create(newname)
|
dst, err := os.Create(newname)
|
||||||
|
if err != nil {
|
||||||
|
if !os.IsExist(err) {
|
||||||
|
dst, err = os.Open(newname)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
L.Push(lua.LFalse)
|
L.Push(lua.LFalse)
|
||||||
L.Push(lua.LString("[packets] copy failed\n" + err.Error()))
|
L.Push(lua.LString("[packets] copy failed\n" + err.Error()))
|
||||||
return 2
|
return 2
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
L.Push(lua.LFalse)
|
||||||
|
L.Push(lua.LString("[packets] copy failed\n" + err.Error()))
|
||||||
|
return 2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
defer dst.Close()
|
defer dst.Close()
|
||||||
if err := dst.Chmod(status.Mode()); err != nil {
|
if err := dst.Chmod(status.Mode()); err != nil {
|
||||||
|
|||||||
Reference in New Issue
Block a user