X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fsrc%2Fstored%2Fbextract.c;h=72257d2624a7818389b5facf0be94704cfc5b772;hb=706490171cd2e5458defa3e4abfeca745d19d1f3;hp=7679da70af7b7756ed05e64a99d896500751c07f;hpb=ab26b486ce077fe2a52e6afd7f8d7a3b4fb4442d;p=bacula%2Fbacula diff --git a/bacula/src/stored/bextract.c b/bacula/src/stored/bextract.c index 7679da70af..72257d2624 100644 --- a/bacula/src/stored/bextract.c +++ b/bacula/src/stored/bextract.c @@ -20,7 +20,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - Bacula® is a registered trademark of John Walker. + Bacula® is a registered trademark of Kern Sibbald. The licensor of Bacula is the Free Software Foundation Europe (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich, Switzerland, email:ftf@fsfeurope.org. @@ -39,6 +39,8 @@ #include "stored.h" #include "findlib/find.h" +extern bool parse_sd_config(CONFIG *config, const char *configfile, int exit_code); + static void do_extract(char *fname); static bool record_cb(DCR *dcr, DEV_RECORD *rec); @@ -64,6 +66,7 @@ static char *wbuf; /* write buffer address */ static uint32_t wsize; /* write size */ static uint64_t fileAddr = 0; /* file write address */ +static CONFIG *config; #define CONFIG_FILE "bacula-sd.conf" char *configfile = NULL; STORES *me = NULL; /* our Global resource */ @@ -78,7 +81,7 @@ PROG_COPYRIGHT "\nVersion: %s (%s)\n\n" "Usage: bextract \n" " -b specify a bootstrap file\n" -" -c specify a configuration file\n" +" -c specify a Storage configuration file\n" " -d set debug level to \n" " -dt print timestamp in debug output\n" " -e exclude list\n" @@ -198,7 +201,8 @@ int main (int argc, char *argv[]) configfile = bstrdup(CONFIG_FILE); } - parse_config(configfile); + config = new_config_parser(); + parse_sd_config(config, configfile, M_ERROR_TERM); if (!got_inc) { /* If no include file, */ add_fname_to_include_list(ff, 0, "/"); /* include everything */ @@ -343,11 +347,11 @@ static bool record_cb(DCR *dcr, DEV_RECORD *rec) build_attr_output_fnames(jcr, attr); - if (attr->type == FT_DELETED) { /* TODO: choose the right fname/ofname */ - Jmsg(jcr, M_INFO, 0, _("%s was deleted.\n"), attr->fname); - extract = false; - return true; - } + if (attr->type == FT_DELETED) { /* TODO: choose the right fname/ofname */ + Jmsg(jcr, M_INFO, 0, _("%s was deleted.\n"), attr->fname); + extract = false; + return true; + } extract = false; stat = create_file(jcr, attr, &bfd, REPLACE_ALWAYS); @@ -521,4 +525,3 @@ bool dir_get_volume_info(DCR *dcr, enum get_vol_info_rw writing) Dmsg2(500, "Vol=%s num_parts=%d\n", dcr->VolCatInfo.VolCatName, dcr->VolCatInfo.VolCatParts); return 1; } -