Mercurial > hg > orthanc
diff Core/Toolbox.cpp @ 758:67e6400fca03 query-retrieve
integration mainline -> query-retrieve
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 16 Apr 2014 16:34:09 +0200 |
parents | 203157cb4fde |
children | 8cfc6119a5bd ecedd89055db ac8f68cbdbb6 |
line wrap: on
line diff
--- a/Core/Toolbox.cpp Fri Jan 24 17:40:45 2014 +0100 +++ b/Core/Toolbox.cpp Wed Apr 16 16:34:09 2014 +0200 @@ -1,6 +1,6 @@ /** * Orthanc - A Lightweight, RESTful DICOM Store - * Copyright (C) 2012-2013 Medical Physics Department, CHU of Liege, + * Copyright (C) 2012-2014 Medical Physics Department, CHU of Liege, * Belgium * * This program is free software: you can redistribute it and/or @@ -157,17 +157,6 @@ } #endif - void Toolbox::Sleep(uint32_t seconds) - { -#if defined(_WIN32) - ::Sleep(static_cast<DWORD>(seconds) * static_cast<DWORD>(1000)); -#elif defined(__linux) - usleep(static_cast<uint64_t>(seconds) * static_cast<uint64_t>(1000000)); -#else -#error Support your platform here -#endif - } - void Toolbox::USleep(uint64_t microSeconds) { #if defined(_WIN32) @@ -187,6 +176,7 @@ #else signal(SIGINT, SignalHandler); signal(SIGQUIT, SignalHandler); + signal(SIGTERM, SignalHandler); #endif finish = false; @@ -200,6 +190,7 @@ #else signal(SIGINT, NULL); signal(SIGQUIT, NULL); + signal(SIGTERM, NULL); #endif } @@ -217,6 +208,20 @@ } + void Toolbox::ToUpperCase(std::string& result, + const std::string& source) + { + result = source; + ToUpperCase(result); + } + + void Toolbox::ToLowerCase(std::string& result, + const std::string& source) + { + result = source; + ToLowerCase(result); + } + void Toolbox::ReadFile(std::string& content, const std::string& path) @@ -449,13 +454,29 @@ void Toolbox::ComputeMD5(std::string& result, const std::string& data) { + if (data.size() > 0) + { + ComputeMD5(result, &data[0], data.size()); + } + else + { + ComputeMD5(result, NULL, 0); + } + } + + + void Toolbox::ComputeMD5(std::string& result, + const void* data, + size_t length) + { md5_state_s state; md5_init(&state); - if (data.size() > 0) + if (length > 0) { - md5_append(&state, reinterpret_cast<const md5_byte_t*>(&data[0]), - static_cast<int>(data.size())); + md5_append(&state, + reinterpret_cast<const md5_byte_t*>(data), + static_cast<int>(length)); } md5_byte_t actualHash[16];