]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/stored/bextract.c
Start RESTORE_OBJECT code
[bacula/bacula] / bacula / src / stored / bextract.c
index 5786a4c133d26b45c19a1749bc9013d760a47759..f4aa3dbaa62a9bb4bf0fff060a18095d0654cf5f 100644 (file)
@@ -1,7 +1,7 @@
 /*
    Bacula® - The Network Backup Solution
 
-   Copyright (C) 2000-2008 Free Software Foundation Europe e.V.
+   Copyright (C) 2000-2010 Free Software Foundation Europe e.V.
 
    The main author of Bacula is Kern Sibbald, with contributions from
    many others, a complete list can be found in the file AUTHORS.
@@ -31,8 +31,6 @@
  *
  *   Kern E. Sibbald, MM
  *
- *   Version $Id$
- *
  */
 
 #include "bacula.h"
@@ -105,6 +103,7 @@ int main (int argc, char *argv[])
    bindtextdomain("bacula", LOCALEDIR);
    textdomain("bacula");
    init_stack_dump();
+   lmgr_init_thread();
 
    working_directory = "/tmp";
    my_name_is(argc, argv, "bextract");
@@ -328,13 +327,7 @@ static bool record_cb(DCR *dcr, DEV_RECORD *rec)
          Emsg0(M_ERROR_TERM, 0, _("Cannot continue.\n"));
       }
 
-      if (attr->file_index != rec->FileIndex) {
-         Emsg2(M_ERROR_TERM, 0, _("Record header file index %ld not equal record index %ld\n"),
-            rec->FileIndex, attr->file_index);
-      }
-
       if (file_is_included(ff, attr->fname) && !file_is_excluded(ff, attr->fname)) {
-
          attr->data_stream = decode_stat(attr->attr, &attr->statp, &attr->LinkFI);
          if (!is_restore_stream_supported(attr->data_stream)) {
             if (!non_support_data++) {
@@ -443,7 +436,7 @@ static bool record_cb(DCR *dcr, DEV_RECORD *rec)
                                  (const Byte *)wbuf, (uLong)wsize)) == Z_BUF_ERROR)
          {
             /* The buffer size is too small, try with a bigger one */
-            compress_len = compress_len + compress_len >> 1;
+            compress_len = compress_len + (compress_len >> 1);
             compress_buf = check_pool_memory_size(compress_buf,
                                                   compress_len);
          }
@@ -527,8 +520,8 @@ bool dir_ask_sysop_to_mount_volume(DCR *dcr, int /*mode*/)
 bool dir_get_volume_info(DCR *dcr, enum get_vol_info_rw  writing)
 {
    Dmsg0(100, "Fake dir_get_volume_info\n");
-   bstrncpy(dcr->VolCatInfo.VolCatName, dcr->VolumeName, sizeof(dcr->VolCatInfo.VolCatName));
+   dcr->setVolCatName(dcr->VolumeName);
    dcr->VolCatInfo.VolCatParts = find_num_dvd_parts(dcr);
-   Dmsg2(500, "Vol=%s num_parts=%d\n", dcr->VolCatInfo.VolCatName, dcr->VolCatInfo.VolCatParts);
+   Dmsg2(500, "Vol=%s num_parts=%d\n", dcr->getVolCatName(), dcr->VolCatInfo.VolCatParts);
    return 1;
 }