diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 4ee2838d..39376a30 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -31,6 +31,15 @@ jobs: # on Windows, we rely on vcpkg to pull in dependencies shell: bash run: | + # Temporary workaround for the vcpkg internal issue + # See https://github.com/microsoft/vcpkg/issues/41199#issuecomment-2378255699 for details + # shellcheck disable=SC2153 + export SystemDrive=$SYSTEMDRIVE + # shellcheck disable=SC2153 + export SystemRoot=$SYSTEMROOT + # shellcheck disable=SC2153 + export windir=$WINDIR + vcpkg install azure-storage-blobs-cpp:x64-windows-static vcpkg install azure-identity-cpp:x64-windows-static vcpkg install rapidjson 'curl[ssl]' --triplet x64-windows-static diff --git a/CMakeLists.txt b/CMakeLists.txt index 73924e07..f1c44f22 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.15) cmake_policy(SET CMP0091 NEW) # enable new "MSVC runtime library selection" (https://cmake.org/cmake/help/latest/variable/CMAKE_MSVC_RUNTIME_LIBRARY.html) project(libCZI - VERSION 0.62.4 + VERSION 0.62.5 HOMEPAGE_URL "https://github.com/ZEISS/libczi" DESCRIPTION "libCZI is an Open Source Cross-Platform C++ library to read and write CZI") diff --git a/Src/libCZI/Doc/stream_objects.markdown b/Src/libCZI/Doc/stream_objects.markdown index b932509c..763b584a 100644 --- a/Src/libCZI/Doc/stream_objects.markdown +++ b/Src/libCZI/Doc/stream_objects.markdown @@ -51,7 +51,7 @@ The reader has multiple modes of operation - mainly differing in how the authent key | description -------------------|--------------------------------------------------- account | The storage-account name. It will be used to create the account-URL as https://.blob.core.windows.net". This key is relevant for all authentication modes except "ConnectionString". - accountURL | The complete base-URL for the storage account. If this is given, then the key 'account' is ignored (and this URL is used instead). This key is relevant for all authentication modes except "ConnectionString". + accounturl | The complete base-URL for the storage account. If this is given, then the key 'account' is ignored (and this URL is used instead). This key is relevant for all authentication modes except "ConnectionString". containername | The container name. blobname | The name of the blob. connectionstring | The connection string to access the blob store. This key is relevant only for authentication mode "ConnectionString". diff --git a/Src/libCZI/Doc/version-history.markdown b/Src/libCZI/Doc/version-history.markdown index c9b2a9e8..6a86680d 100644 --- a/Src/libCZI/Doc/version-history.markdown +++ b/Src/libCZI/Doc/version-history.markdown @@ -30,4 +30,5 @@ version history {#version_history} 0.62.1 | [114](https://github.com/ZEISS/libczi/pull/114) | improve build system fixing issues with msys2 and mingw-w64, cosmetic changes 0.62.2 | [115](https://github.com/ZEISS/libczi/pull/115) | enabling building with clang on windows 0.62.3 | [116](https://github.com/ZEISS/libczi/pull/116) | enable long paths on Windows for CZIcmd, add Windows-ARM64 build - 0.62.4 | [117](https://github.com/ZEISS/libczi/pull/117) | fix build with private RapidJSON library \ No newline at end of file + 0.62.4 | [117](https://github.com/ZEISS/libczi/pull/117) | fix build with private RapidJSON library + 0.62.5 | [119](https://github.com/ZEISS/libczi/pull/119) | fix a discrepancy between code and documentation \ No newline at end of file diff --git a/Src/libCZI/StreamsLib/azureblobinputstream.cpp b/Src/libCZI/StreamsLib/azureblobinputstream.cpp index c01d8a10..47d4a1d7 100644 --- a/Src/libCZI/StreamsLib/azureblobinputstream.cpp +++ b/Src/libCZI/StreamsLib/azureblobinputstream.cpp @@ -185,7 +185,7 @@ void AzureBlobInputStream::Read(std::uint64_t offset, void* pv, std::uint64_t si const Azure::Core::Http::HttpStatusCode code = download_response.RawResponse->GetStatusCode(); // TODO(JBL): I am not sure about what we can expect here as return code. The Azure SDK documentation is not very clear about this, - // at least I am not aware of an authorative text on this. + // at least I am not aware of an authoritative text on this. if (code == Azure::Core::Http::HttpStatusCode::Ok || code == Azure::Core::Http::HttpStatusCode::PartialContent) { // the reported position should match the requested offset @@ -210,6 +210,12 @@ void AzureBlobInputStream::Read(std::uint64_t offset, void* pv, std::uint64_t si *ptrBytesRead = download_response.Value.ContentRange.Length.Value(); } } + else + { + ostringstream string_stream; + string_stream << "'DownloadTo' failed with status code " << static_cast(code) << "."; + throw runtime_error(string_stream.str()); + } } /*static*/std::string AzureBlobInputStream::GetBuildInformation() diff --git a/Src/libCZI/StreamsLib/azureblobinputstream.h b/Src/libCZI/StreamsLib/azureblobinputstream.h index 93b32630..622871fd 100644 --- a/Src/libCZI/StreamsLib/azureblobinputstream.h +++ b/Src/libCZI/StreamsLib/azureblobinputstream.h @@ -46,7 +46,7 @@ /// | | This key is relevant for all authentication modes except /// | | "ConnectionString". /// +------------------+-------------------------------------------------------------------------- -/// | acountURL | The complete base-URL for the storage account. If this is given, then the +/// | accounturl | The complete base-URL for the storage account. If this is given, then the /// | | key 'account' is ignored (and this URL is used instead). /// | | This key is relevant for all authentication modes except /// | | "ConnectionString".