Imported Upstream version 2.5.2p1
[debian/amanda] / restore-src / restore.c
index 8163b232666ff97488c53da1cf53d0d6ce629e85..9cede42df06a317c68eb7c37853bb8a55be83139 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: restore.c,v 1.52.2.7 2007/01/04 20:20:48 martinea Exp $
+ * $Id: restore.c,v 1.52 2006/08/23 11:41:54 martinea Exp $
  *
  * retrieves files from an amanda tape
  */
@@ -231,7 +231,7 @@ append_file_to_fd(
                error("restore: write error = %s", strerror(errno));
                /*NOTREACHED*/
            }
-           error("Short write: wrote %zd bytes expected %zd.", s, bytes_read);
+           error("Short write: wrote " SSIZE_T_FMT " bytes expected " SSIZE_T_FMT ".", s, bytes_read);
            /*NOTREACHCED*/
        }
        wc += (off_t)bytes_read;
@@ -647,7 +647,7 @@ read_file_header(
        fprintf(stderr, "%s: error reading file header: %s\n",
                get_pname(), strerror(errno));
        file->type = F_UNKNOWN;
-    } else if((size_t)bytes_read < blocksize) {
+    } else if((size_t)bytes_read < DISK_BLOCK_BYTES) {
        if(bytes_read == 0) {
            fprintf(stderr, "%s: missing file header block\n", get_pname());
        } else {
@@ -882,7 +882,7 @@ restore(
                error("write error: %s", strerror(errno));
                /*NOTREACHED*/
            } else {
-               error("write error: %zd instead of %d", w, DISK_BLOCK_BYTES);
+               error("write error: " SSIZE_T_FMT " instead of %d", w, DISK_BLOCK_BYTES);
                /*NOTREACHED*/
            }
        }
@@ -902,7 +902,8 @@ restore(
          || file->type != F_SPLIT_DUMPFILE))
        need_uncompress=1;   
 
-    if(!flags->raw && file->encrypted)
+    if(!flags->raw && file->encrypted && !is_continuation
+         && (flags->inline_assemble || file->type != F_SPLIT_DUMPFILE))
        need_decrypt=1;
    
     /* Setup pipes for decryption / compression / uncompression  */
@@ -1093,7 +1094,7 @@ restore(
                error("restore: write error: %s", strerror(errno));
                /* NOTREACHED */
            } else if (s < bytes_read) {
-               error("restore: wrote %zd of %zd bytes: %s",
+               error("restore: wrote " SSIZE_T_FMT " of " SSIZE_T_FMT " bytes: %s",
                    s, bytes_read, strerror(errno));
                /* NOTREACHED */
            }