From c205ebf2d9ce90366fa90a735d0d7e6c8a26180c Mon Sep 17 00:00:00 2001 From: Stefano Date: Thu, 9 May 2024 18:49:54 +0200 Subject: [PATCH 1/2] Update gitignore with Visual Studio files --- .gitignore | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.gitignore b/.gitignore index 54140ad3..33f3c563 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,8 @@ example/build/* # Qtcreator *.user* *.autosave + +# Visual studio +.vs/* +.vscode/* +CMakeSettings.json From 136419ec9d30caa75c4feabce5a9d95ad3b65fff Mon Sep 17 00:00:00 2001 From: Stefano Date: Thu, 9 May 2024 18:50:16 +0200 Subject: [PATCH 2/2] Avoid to push to nullptr when creating a struct --- src/Struct.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/Struct.cpp b/src/Struct.cpp index 669d88ed..e29ee3b8 100644 --- a/src/Struct.cpp +++ b/src/Struct.cpp @@ -47,16 +47,19 @@ matioCpp::Struct::Struct(const std::string &name) matioCpp::Struct::Struct(const std::string &name, const std::vector &elements) { size_t emptyDimensions[] = {1, 1}; - std::vector vectorOfPointers(elements.size() + 1, nullptr); //The vector of pointers has to be null terminated + std::vector vectorOfPointers; for (size_t i = 0; i < elements.size(); ++i) { - if (!elements[i].isValid()) + if (elements[i].isValid()) { - std::cerr << "[ERROR][matioCpp::Struct::Struct] The element at index "<< i << " (0-based) is not valid." << std::endl; - assert(false); + vectorOfPointers.push_back(matioCpp::MatvarHandler::GetMatvarDuplicate(elements[i].toMatio())); + } + else + { + std::cerr << "[ERROR][matioCpp::Struct::Struct] The element of " << name << " at index " << i << " (0-based) is not valid. It will be skipped." << std::endl; } - vectorOfPointers[i] = matioCpp::MatvarHandler::GetMatvarDuplicate(elements[i].toMatio()); } + vectorOfPointers.push_back(nullptr); //The vector of pointers has to be null terminated initializeVariable(name, VariableType::Struct,