From ebd66671d51b9a52b2fcc6cd4e8b9402d25d8cf4 Mon Sep 17 00:00:00 2001 From: Rainer Kartmann <rainer.kartmann@kit.edu> Date: Wed, 1 Sep 2021 11:40:07 +0200 Subject: [PATCH] Use std::memcpy Signed-off-by: Rainer Kartmann <rainer.kartmann@kit.edu> --- .../aron/core/io/dataIO/reader/navigator/NavigatorReader.cpp | 3 ++- .../aron/core/io/dataIO/writer/navigator/NavigatorWriter.cpp | 3 ++- .../libraries/aron/core/navigator/data/complex/NDArray.cpp | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/source/RobotAPI/libraries/aron/core/io/dataIO/reader/navigator/NavigatorReader.cpp b/source/RobotAPI/libraries/aron/core/io/dataIO/reader/navigator/NavigatorReader.cpp index 6c95ec35b..d5e2ebe0f 100644 --- a/source/RobotAPI/libraries/aron/core/io/dataIO/reader/navigator/NavigatorReader.cpp +++ b/source/RobotAPI/libraries/aron/core/io/dataIO/reader/navigator/NavigatorReader.cpp @@ -161,7 +161,8 @@ namespace armarx::aron::dataIO::reader auto casted = datanavigator::NDArrayNavigator::DynamicCastAndCheck(current_nav); std::vector<int> dims = casted->getDimensions(); - memcpy(data, casted->getData(), std::accumulate(std::begin(dims), std::end(dims), 1, std::multiplies<int>())); + int size = std::accumulate(std::begin(dims), std::end(dims), 1, std::multiplies<int>()); + std::memcpy(data, casted->getData(), static_cast<size_t>(size)); } // Read primitives diff --git a/source/RobotAPI/libraries/aron/core/io/dataIO/writer/navigator/NavigatorWriter.cpp b/source/RobotAPI/libraries/aron/core/io/dataIO/writer/navigator/NavigatorWriter.cpp index 8777b5d0c..b1c25a788 100644 --- a/source/RobotAPI/libraries/aron/core/io/dataIO/writer/navigator/NavigatorWriter.cpp +++ b/source/RobotAPI/libraries/aron/core/io/dataIO/writer/navigator/NavigatorWriter.cpp @@ -96,7 +96,8 @@ namespace armarx::aron::dataIO::writer datanavigator::NDArrayNavigatorPtr aron(new datanavigator::NDArrayNavigator(path)); aron->setDimensions(dims); aron->setType(t); - aron->setData(std::accumulate(std::begin(dims), std::end(dims), 1, std::multiplies<int>()), data); + int size = std::accumulate(std::begin(dims), std::end(dims), 1, std::multiplies<int>()); + aron->setData(static_cast<unsigned int>(size), data); token->addElement(aron); } diff --git a/source/RobotAPI/libraries/aron/core/navigator/data/complex/NDArray.cpp b/source/RobotAPI/libraries/aron/core/navigator/data/complex/NDArray.cpp index eb1a48637..cf568cef4 100644 --- a/source/RobotAPI/libraries/aron/core/navigator/data/complex/NDArray.cpp +++ b/source/RobotAPI/libraries/aron/core/navigator/data/complex/NDArray.cpp @@ -115,7 +115,7 @@ namespace armarx::aron::datanavigator void NDArrayNavigator::setData(unsigned int elements, const unsigned char* src) { aron->data = std::vector<unsigned char>(elements); - memcpy(aron->data.data(), src, elements); + std::memcpy(aron->data.data(), src, elements); } std::vector<int> NDArrayNavigator::getDimensions() const -- GitLab