static int type;
static int stream;
static int prog_name_msg = 0;
+static char *VolumeName = NULL;
static char *wbuf; /* write buffer address */
static uint32_t wsize; /* write size */
static void usage()
{
fprintf(stderr,
-"\nVersion: " VERSION " (" DATE ")\n\n"
+"\nVersion: " VERSION " (" BDATE ")\n\n"
"Usage: bextract [-d debug_level] <bacula-archive> <directory-to-store-files>\n"
" -b <file> specify a bootstrap file\n"
" -c <file> specify a configuration file\n"
" -dnn set debug level to nn\n"
" -e <file> exclude list\n"
" -i <file> include list\n"
+" -V specify Volume names (separated by |)\n"
" -? print this message\n\n");
exit(1);
}
got_inc = TRUE;
break;
+ case 'V': /* Volume name */
+ VolumeName = optarg;
+ break;
+
case '?':
default:
usage();
static void do_extract(char *devname)
{
- jcr = setup_jcr("bextract", devname, bsr);
+ jcr = setup_jcr("bextract", devname, bsr, VolumeName);
dev = setup_to_access_device(jcr, 1); /* acquire for read */
if (!dev) {
exit(1);
if (file_is_included(ff, fname) && !file_is_excluded(ff, fname)) {
+ uint32_t LinkFI;
- decode_stat(ap, &statp);
+ decode_stat(ap, &statp, &LinkFI);
/*
* Prepend the where directory so that the
* files are put where the user wants.