* Version $Id$
*/
/*
- Copyright (C) 2002-2005 Kern Sibbald
+ Copyright (C) 2002-2006 Kern Sibbald
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
static void usage()
{
fprintf(stderr, _(
-"Copyright (C) 2002-2005 Kern Sibbald.\n"
+"Copyright (C) 2002-%s Kern Sibbald.\n"
"\nVersion: %s (%s)\n\n"
"Usage: bcopy [-d debug_level] <input-archive> <output-archive>\n"
" -b bootstrap specify a bootstrap file\n"
" -p proceed inspite of errors\n"
" -v verbose\n"
" -w <dir> specify working directory (default /tmp)\n"
-" -? print this message\n\n"), VERSION, BDATE);
+" -? print this message\n\n"), BYEAR, VERSION, BDATE);
exit(1);
}
usage();
}
+ OSDependentInit();
+
working_directory = wd;
if (configfile == NULL) {
free_jcr(in_jcr);
free_jcr(out_jcr);
- term_dev(in_dev);
- term_dev(out_dev);
+ in_dev->term();
+ out_dev->term();
return 0;
}
rec->remainder);
if (!write_block_to_device(out_jcr->dcr)) {
Dmsg2(90, "Got write_block_to_dev error on device %s: ERR=%s\n",
- out_dev->print_name(), strerror_dev(out_dev));
+ out_dev->print_name(), out_dev->bstrerror());
Jmsg(out_jcr, M_FATAL, 0, _("Cannot fixup device error. %s\n"),
- strerror_dev(out_dev));
+ out_dev->bstrerror());
}
}
if (!write_block_to_device(out_jcr->dcr)) {
Dmsg2(90, "Got write_block_to_dev error on device %s: ERR=%s\n",
- out_dev->print_name(), strerror_dev(out_dev));
+ out_dev->print_name(), out_dev->bstrerror());
Jmsg(out_jcr, M_FATAL, 0, _("Cannot fixup device error. %s\n"),
- strerror_dev(out_dev));
+ out_dev->bstrerror());
}
break;
case EOM_LABEL:
rec->remainder);
if (!write_block_to_device(out_jcr->dcr)) {
Dmsg2(90, "Got write_block_to_dev error on device %s: ERR=%s\n",
- out_dev->print_name(), strerror_dev(out_dev));
+ out_dev->print_name(), out_dev->bstrerror());
Jmsg(out_jcr, M_FATAL, 0, _("Cannot fixup device error. %s\n"),
- strerror_dev(out_dev));
+ out_dev->bstrerror());
break;
}
}
bool dir_ask_sysop_to_create_appendable_volume(DCR *dcr) { return 1; }
bool dir_update_file_attributes(DCR *dcr, DEV_RECORD *rec) { return 1;}
bool dir_send_job_status(JCR *jcr) {return 1;}
-VOLRES *new_volume(DCR *dcr, const char *VolumeName) { return NULL; }
-bool free_volume(DEVICE *dev) { return true; }
-void free_unused_volume(DCR *dcr) { }
bool dir_ask_sysop_to_mount_volume(DCR *dcr)
DEVICE *dev = dcr->dev;
fprintf(stderr, _("Mount Volume \"%s\" on device %s and press return when ready: "),
dcr->VolumeName, dev->print_name());
+ dev->close();
getchar();
return true;
}