]> git.lizzy.rs Git - rust.git/commitdiff
Remove duplicate code by using util::copy()
authorGleb Kozyrev <gleb@gkoz.com>
Mon, 17 Nov 2014 00:07:23 +0000 (02:07 +0200)
committerGleb Kozyrev <gleb@gkoz.com>
Mon, 17 Nov 2014 17:18:26 +0000 (19:18 +0200)
src/libstd/io/fs.rs

index 3f39dda650aff9260d79cb8eac37bffd204a64b0..f4e795721cf54caa82ad3c16948e26cc884b9ccc 100644 (file)
@@ -381,16 +381,8 @@ fn update_err<T>(result: IoResult<T>, from: &Path, to: &Path) -> IoResult<T> {
 
     let mut reader = try!(File::open(from));
     let mut writer = try!(File::create(to));
-    let mut buf = [0, ..io::DEFAULT_BUF_SIZE];
 
-    loop {
-        let amt = match reader.read(&mut buf) {
-            Ok(n) => n,
-            Err(ref e) if e.kind == io::EndOfFile => { break }
-            Err(e) => return update_err(Err(e), from, to)
-        };
-        try!(writer.write(buf[..amt]));
-    }
+    try!(super::util::copy(&mut reader, &mut writer));
 
     chmod(to, try!(update_err(from.stat(), from, to)).perm)
 }