dbmeta_filename += backup_scheme + "-";
dbmeta_filename += timestamp + ".meta" + filter_extension;
RemoteFile *dbmeta_file = remote->alloc_file(dbmeta_filename, "meta");
- FileFilter *dbmeta_filter = FileFilter::New(dbmeta_file->get_fd(),
- filter_program);
+ scoped_ptr<FileFilter> dbmeta_filter(FileFilter::New(dbmeta_file->get_fd(),
+ filter_program));
if (dbmeta_filter == NULL) {
fprintf(stderr, "Unable to open descriptor output file: %m\n");
return 1;
RemoteFile *descriptor_file = remote->alloc_file(desc_filename,
"snapshots");
- FileFilter *descriptor_filter = FileFilter::New(descriptor_file->get_fd(),
- signature_filter.c_str());
+ scoped_ptr<FileFilter> descriptor_filter(
+ FileFilter::New(descriptor_file->get_fd(), signature_filter.c_str()));
if (descriptor_filter == NULL) {
fprintf(stderr, "Unable to open descriptor output file: %m\n");
return 1;
assert(sizeof(struct tar_header) == TAR_BLOCK_SIZE);
this->file = file;
- this->filter = FileFilter::New(file->get_fd(), filter_program);
+ this->filter.reset(FileFilter::New(file->get_fd(), filter_program));
}
Tarfile::~Tarfile()
#include <iostream>
#include <sstream>
+#include "cumulus.h"
#include "localdb.h"
#include "remote.h"
#include "ref.h"
std::string segment_name;
RemoteFile *file;
- FileFilter *filter;
+ scoped_ptr<FileFilter> filter;
// Write data to the tar file
void tar_write(const char *data, size_t size);