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
4 changed files with 19 additions and 23 deletions
  1. +6
    -6
      src/lib/bagmetadata.cpp
  2. +8
    -12
      src/lib/checksum.cpp
  3. +4
    -4
      src/lib/manifest.cpp
  4. +1
    -1
      test/testbag.cpp

+ 6
- 6
src/lib/bagmetadata.cpp View File

@@ -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";


+ 8
- 12
src/lib/checksum.cpp View File

@@ -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;


+ 4
- 4
src/lib/manifest.cpp View File

@@ -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;


+ 1
- 1
test/testbag.cpp View File

@@ -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