diff options
author | Chris Wilson <chris+github@qwirx.com> | 2013-08-22 00:17:34 +0000 |
---|---|---|
committer | Chris Wilson <chris+github@qwirx.com> | 2013-08-22 00:17:34 +0000 |
commit | c8af9906b692de24dbf1b03c563d85fa85d3a4dc (patch) | |
tree | 16c97aa693fb5e7133b4e10c826c901bdcddbe10 /lib/backupstore/BackupStoreFileDiff.cpp | |
parent | 410c85a13d5812efeadb13e3ffa82b9629331100 (diff) |
Pass std::auto_ptr objects to Protocol for upload.
Passing raw pointers is bad C++ style, and dangerous, because Protocol
will free the passed-in pointers after uploading them, so we should not
keep using them.
Reduce code duplication in BackupClientDirectoryRecord patch/normal upload.
Return a std::auto_ptr<BackupStoreFileEncodeStream> instead of a
std::auto_ptr<IOStream> from BackupStoreFile::EncodeFile* functions.
Diffstat (limited to 'lib/backupstore/BackupStoreFileDiff.cpp')
-rw-r--r-- | lib/backupstore/BackupStoreFileDiff.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/backupstore/BackupStoreFileDiff.cpp b/lib/backupstore/BackupStoreFileDiff.cpp index c8a28b78..fa8cb892 100644 --- a/lib/backupstore/BackupStoreFileDiff.cpp +++ b/lib/backupstore/BackupStoreFileDiff.cpp @@ -123,7 +123,7 @@ void BackupStoreFile::MoveStreamPositionToBlockIndex(IOStream &rStream) // Created: 12/1/04 // // -------------------------------------------------------------------------- -std::auto_ptr<IOStream> BackupStoreFile::EncodeFileDiff +std::auto_ptr<BackupStoreFileEncodeStream> BackupStoreFile::EncodeFileDiff ( const std::string& Filename, int64_t ContainerID, const BackupStoreFilename &rStoreFilename, int64_t DiffFromObjectID, @@ -206,10 +206,11 @@ std::auto_ptr<IOStream> BackupStoreFile::EncodeFileDiff // foundBlocks no longer required // Create the stream - std::auto_ptr<IOStream> stream(new BackupStoreFileEncodeStream); + std::auto_ptr<BackupStoreFileEncodeStream> stream( + new BackupStoreFileEncodeStream); // Do the initial setup - ((BackupStoreFileEncodeStream*)stream.get())->Setup(Filename, precipe, ContainerID, rStoreFilename, pModificationTime); + stream->Setup(Filename, precipe, ContainerID, rStoreFilename, pModificationTime); precipe = 0; // Stream has taken ownership of this // Tell user about completely different status? |