Browse Source

- fixed constant width in set_BagSize()

- removed superflous nullptr-check after new() in checksum_of_file()
- fixed problem with moved string in testbag.cpp check_validation()
master
parent
commit
2e3111a4ff
  1. 12
      src/lib/bagmetadata.cpp
  2. 20
      src/lib/checksum.cpp
  3. 8
      src/lib/manifest.cpp
  4. 2
      test/testbag.cpp

12
src/lib/bagmetadata.cpp

@ -376,13 +376,13 @@ void Bagmetadata::set_BagSize(string BagSize) {
void Bagmetadata::set_BagSize( unsigned long long int bytes) {
if (bytes > (const unsigned long long int) (1024ull*1024*1024*1024) ) {
this->metadata["BagSize"] = to_string (bytes/ (1024ull*1024*1024*1024)) + " TB";
} else if (bytes > (1024*1024*1024) ) {
this->metadata["BagSize"] = to_string (bytes/ (1024ull*1024*1024)) + " GB";
} else if (bytes > (1024*1024) ) {
if (bytes > (const unsigned long long int) (1024ull*1024ull*1024ull*1024ull) ) {
this->metadata["BagSize"] = to_string (bytes/ (1024ull*1024ull*1024ull*1024ull)) + " TB";
} else if (bytes > (1024ull *1024ull*1024ull) ) {
this->metadata["BagSize"] = to_string (bytes/ (1024ull*1024ull*1024ull)) + " GB";
} else if (bytes > (1024ull*1024ull) ) {
this->metadata["BagSize"] = to_string (bytes/ (1024ull*1024)) + " MB";
} else if (bytes > (1024) ) {
} else if (bytes > (1024ull) ) {
this->metadata["BagSize"] = to_string (bytes/ (1024ull)) + " kB";
} else {
this->metadata["BagSize"] = to_string (bytes) + " B";

20
src/lib/checksum.cpp

@ -1,15 +1,15 @@
// Copyright (C) 2018 Andreas Romeyke (art1@andreas-romeyke.de), 2018.
//
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
#include <iostream>
@ -38,10 +38,9 @@ string Checksum::checksum_of_file(const string& filepath, checksum_algorithms al
unsigned char * memBlock;
fileSize = file.tellg();
memBlock = new unsigned char[fileSize];
if (nullptr != memBlock) {
file.seekg(0,ios::beg);
file.read(reinterpret_cast<char*>(memBlock), fileSize);
switch ( alg ) {
file.seekg(0,ios::beg);
file.read(reinterpret_cast<char*>(memBlock), fileSize);
switch ( alg ) {
case md5: {
unsigned char result[MD5_DIGEST_LENGTH];
MD5(memBlock, fileSize, result);
@ -67,12 +66,9 @@ string Checksum::checksum_of_file(const string& filepath, checksum_algorithms al
break;
}
}
delete[] memBlock;
// log << "# # CHECKSUM for filepath '" << filepath << "' " << hex_result.str() << endl;
}else {
log << "could not alloc memory" << endl;
}
delete[] memBlock;
// log << "# # CHECKSUM for filepath '" << filepath << "' " << hex_result.str() << endl;
file.close();
} else {
log << "file '"<< filepath << "' could not be opened" << endl;

8
src/lib/manifest.cpp

@ -1,15 +1,15 @@
// Copyright (C) 2018 Andreas Romeyke (art1@andreas-romeyke.de), 2018.
//
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
#include "manifest.hpp"
@ -25,7 +25,7 @@ namespace fs = boost::filesystem;
using namespace std;
Manifest::Manifest( string basedir, string file_prefix ) {
Manifest::Manifest( const string basedir, const string file_prefix ) {
Manifest::basedir = basedir;
Manifest::base_manifest_file_prefix = file_prefix;
map<checksum_algorithms, string> possible_manifest_files;

2
test/testbag.cpp

@ -36,7 +36,7 @@ bool check_validation(string dir) {
bool check_store( string dir_load_from, string dir_store_to ) {
Bag p( std::move(dir_load_from) );
bool result = p.store ( std::move(dir_store_to) );
bool result = p.store ( dir_store_to );
// clean dir_store_to
fs::path f { dir_store_to };
fs::remove_all( f );

Loading…
Cancel
Save