]> git.proxmox.com Git - proxmox-backup.git/commitdiff
src/pxar/decoder.rs: correctly call callback()
authorDietmar Maurer <dietmar@proxmox.com>
Fri, 15 Mar 2019 07:02:04 +0000 (08:02 +0100)
committerDietmar Maurer <dietmar@proxmox.com>
Fri, 15 Mar 2019 07:02:04 +0000 (08:02 +0100)
src/client/pxar_decode_writer.rs
src/pxar/decoder.rs

index b0700a3151dd89678aa763f9ced31f2b2cbfefa3..968b3f6dc4b4b6fd33d26d381e2706028375452a 100644 (file)
@@ -35,7 +35,7 @@ impl PxarDecodeWriter {
           
             if let Err(err) = decoder.restore(&base, & |path| {
                 if verbose {
-                    println!("RESTORE: {:?}", path);
+                    println!("{:?}", path);
                 }
                 Ok(())
             }) {
index 463b7d22ca2233744930d756f447c78788c7427b..af8084f23c91a4ae7e7885223ef7cba36d6125c6 100644 (file)
@@ -266,6 +266,8 @@ impl <'a, R: Read> PxarDecoder<'a, R> {
         check_ca_header::<CaFormatEntry>(&head, CA_FORMAT_ENTRY)?;
         let entry: CaFormatEntry = self.read_item()?;
 
+        (callback)(path)?;
+
         let mode = entry.mode as u32; //fixme: upper 32bits?
 
         let ifmt = mode & libc::S_IFMT;
@@ -286,8 +288,7 @@ impl <'a, R: Read> PxarDecoder<'a, R> {
             while head.htype == CA_FORMAT_FILENAME {
                 let name = self.read_filename(head.size)?;
                 path.push(&name);
-                println!("NAME: {:?}", path);
-
+                //println!("NAME: {:?}", path);
                 self.restore_sequential(path, &name, &dir, callback)?;
                 path.pop();
 
@@ -298,7 +299,7 @@ impl <'a, R: Read> PxarDecoder<'a, R> {
                 bail!("got unknown header type inside directory entry {:016x}", head.htype);
             }
 
-            println!("Skip Goodbye");
+            //println!("Skip Goodbye");
             if head.size < HEADER_SIZE { bail!("detected short goodbye table"); }
 
             self.skip_bytes((head.size - HEADER_SIZE) as usize)?;
@@ -322,7 +323,7 @@ impl <'a, R: Read> PxarDecoder<'a, R> {
             match head.htype {
                 CA_FORMAT_SYMLINK => {
                     let target = self.read_symlink(head.size)?;
-                    println!("TARGET: {:?}", target);
+                    //println!("TARGET: {:?}", target);
                     if let Err(err) = symlinkat(&target, parent_fd, filename) {
                         bail!("create symlink {:?} failed - {}", path, err);
                     }