Mercurial > hg > orthanc
diff Core/FileStorage/CompressedFileStorageAccessor.cpp @ 1124:790ff7a5b3bf
IStorageArea abstraction
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 05 Sep 2014 16:28:34 +0200 |
parents | 6c5a77637b23 |
children | bf67431a7383 |
line wrap: on
line diff
--- a/Core/FileStorage/CompressedFileStorageAccessor.cpp Fri Sep 05 15:59:04 2014 +0200 +++ b/Core/FileStorage/CompressedFileStorageAccessor.cpp Fri Sep 05 16:28:34 2014 +0200 @@ -37,6 +37,8 @@ #include "FileStorageAccessor.h" #include "../HttpServer/BufferHttpSender.h" +#include <memory> + namespace Orthanc { FileInfo CompressedFileStorageAccessor::WriteInternal(const void* data, @@ -70,7 +72,16 @@ Toolbox::ComputeMD5(compressedMD5, compressed); } - std::string uuid = storage_.Create(compressed); + std::string uuid; + if (compressed.size() > 0) + { + uuid = storage_.Create(&compressed[0], compressed.size()); + } + else + { + uuid = storage_.Create(NULL, 0); + } + return FileInfo(uuid, type, size, md5, CompressionType_Zlib, compressed.size(), compressedMD5); } @@ -80,7 +91,7 @@ } } - CompressedFileStorageAccessor::CompressedFileStorageAccessor(FilesystemStorage& storage) : + CompressedFileStorageAccessor::CompressedFileStorageAccessor(IStorageArea& storage) : storage_(storage) { compressionType_ = CompressionType_None;