File tree Expand file tree Collapse file tree 1 file changed +22
-3
lines changed Expand file tree Collapse file tree 1 file changed +22
-3
lines changed Original file line number Diff line number Diff line change @@ -51,12 +51,31 @@ func GetUserHome() (string, error) {
51
51
return me .HomeDir , nil
52
52
}
53
53
54
- func CopyFile (from string , to string ) error {
55
- bytesRead , err := os .ReadFile (from )
54
+ func CopyFile (from string , to string ) ( err error ) {
55
+ f , err := os .Open (from )
56
56
if err != nil {
57
57
return err
58
58
}
59
- err = os .WriteFile (to , bytesRead , 0755 )
59
+ defer func () {
60
+ if err2 := f .Close (); err2 != nil {
61
+ err = errors .Join (err , err2 )
62
+ }
63
+ }()
64
+
65
+ destFile , err := os .Create (to )
66
+ if err != nil {
67
+ return err
68
+ }
69
+ defer func () {
70
+ if err2 := destFile .Close (); err != nil {
71
+ err = errors .Join (err , err2 )
72
+ }
73
+ }()
74
+
75
+ n , err := f .WriteTo (destFile )
76
+ if n == 0 {
77
+ return errors .New ("nothing was written" )
78
+ }
60
79
if err != nil {
61
80
return err
62
81
}
You can’t perform that action at this time.
0 commit comments