From 90b257a74d44eb271181db219b7dea4edad8a245 Mon Sep 17 00:00:00 2001 From: Erik Frojdh Date: Wed, 3 Apr 2019 16:17:09 +0200 Subject: [PATCH] warnings --- CMakeLists.txt | 9 +++++++-- slsReceiverSoftware/include/DataStreamer.h | 4 ++-- slsReceiverSoftware/src/DataStreamer.cpp | 15 ++++++++------- .../src/slsReceiverImplementation.cpp | 4 ++-- slsSupportLib/include/ZmqSocket.h | 14 +++++++------- slsSupportLib/tests/test-network_utils.cpp | 4 ++-- 6 files changed, 28 insertions(+), 22 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e66855e53..98221f852 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -70,15 +70,20 @@ elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") message(FATAL_ERROR "GCC version must be at least 4.8!") endif() target_compile_options(slsProjectWarnings INTERFACE - -Wno-misleading-indentation # mostly in rapidjson remove using clang format - -Wno-class-memaccess # also in rapidjson + ) if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 6.0) target_compile_options(slsProjectWarnings INTERFACE + -Wno-misleading-indentation # mostly in rapidjson remove using clang format -Wduplicated-cond -Wnull-dereference ) endif() + if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 8.0) + target_compile_options(slsProjectWarnings INTERFACE + -Wno-class-memaccess ) + + endif() endif() diff --git a/slsReceiverSoftware/include/DataStreamer.h b/slsReceiverSoftware/include/DataStreamer.h index 05030f549..18490565f 100644 --- a/slsReceiverSoftware/include/DataStreamer.h +++ b/slsReceiverSoftware/include/DataStreamer.h @@ -72,7 +72,7 @@ class DataStreamer : private virtual slsDetectorDefs, public ThreadObject { /** * Reset parameters for new measurement (eg. for each scan) */ - void ResetParametersforNewMeasurement(char* fname); + void ResetParametersforNewMeasurement(const std::string& fname); /** * Set GeneralData pointer to the one given @@ -201,7 +201,7 @@ class DataStreamer : private virtual slsDetectorDefs, public ThreadObject { uint64_t firstMeasurementIndex; /* File name to stream */ - char fileNametoStream[MAX_STR_LENGTH]; + std::string fileNametoStream; /** Complete buffer used for roi, eg. shortGotthard */ char* completeBuffer; diff --git a/slsReceiverSoftware/src/DataStreamer.cpp b/slsReceiverSoftware/src/DataStreamer.cpp index 328c9a237..d76285da9 100644 --- a/slsReceiverSoftware/src/DataStreamer.cpp +++ b/slsReceiverSoftware/src/DataStreamer.cpp @@ -40,7 +40,7 @@ DataStreamer::DataStreamer(int ind, Fifo* f, uint32_t* dr, std::vector* r, FILE_LOG(logDEBUG) << "DataStreamer " << ind << " created"; - memset(fileNametoStream, 0, MAX_STR_LENGTH); + // memset(fileNametoStream, 0, MAX_STR_LENGTH); } @@ -79,14 +79,15 @@ void DataStreamer::ResetParametersforNewAcquisition() { acquisitionStartedFlag = false; } -void DataStreamer::ResetParametersforNewMeasurement(char* fname){ +void DataStreamer::ResetParametersforNewMeasurement(const std::string& fname){ runningFlag = false; firstMeasurementIndex = 0; measurementStartedFlag = false; - strcpy(fileNametoStream, fname); - if (completeBuffer) { - delete [] completeBuffer; - completeBuffer = nullptr; + // strcpy(fileNametoStream, fname); + fileNametoStream = fname; + if (completeBuffer) { + delete[] completeBuffer; + completeBuffer = nullptr; } if (roi->size()) { if (generalData->myDetectorType == GOTTHARD) { @@ -247,7 +248,7 @@ int DataStreamer::SendHeader(sls_receiver_header* rheader, uint32_t size, uint32 return zmqSocket->SendHeaderData(index, dummy, SLS_DETECTOR_JSON_HEADER_VERSION, *dynamicRange, *fileIndex, nx, ny, size, - acquisitionIndex, frameIndex, fileNametoStream, + acquisitionIndex, frameIndex, fileNametoStream.c_str(), header.frameNumber, header.expLength, header.packetNumber, header.bunchId, header.timestamp, header.modId, header.row, header.column, header.reserved, header.debug, header.roundRNumber, diff --git a/slsReceiverSoftware/src/slsReceiverImplementation.cpp b/slsReceiverSoftware/src/slsReceiverImplementation.cpp index 77dae85c8..a0100a9cd 100644 --- a/slsReceiverSoftware/src/slsReceiverImplementation.cpp +++ b/slsReceiverSoftware/src/slsReceiverImplementation.cpp @@ -1433,8 +1433,8 @@ void slsReceiverImplementation::ResetParametersforNewMeasurement() { it->ResetParametersforNewMeasurement(); if (dataStreamEnable) { - char fnametostream[MAX_STR_LENGTH]; - snprintf(fnametostream, MAX_STR_LENGTH, "%s/%s", filePath, fileName); + char fnametostream[MAX_STR_LENGTH*2]; + snprintf(fnametostream, MAX_STR_LENGTH*2, "%s/%s", filePath, fileName); for (const auto& it : dataStreamer) it->ResetParametersforNewMeasurement(fnametostream); } diff --git a/slsSupportLib/include/ZmqSocket.h b/slsSupportLib/include/ZmqSocket.h index 3cf490533..6c7e1680f 100644 --- a/slsSupportLib/include/ZmqSocket.h +++ b/slsSupportLib/include/ZmqSocket.h @@ -247,7 +247,7 @@ public: */ int SendHeaderData ( int index, bool dummy, uint32_t jsonversion, uint32_t dynamicrange = 0, uint64_t fileIndex = 0, uint32_t npixelsx = 0, uint32_t npixelsy = 0, uint32_t imageSize = 0, - uint64_t acqIndex = 0, uint64_t fIndex = 0, char* fname = NULL, + uint64_t acqIndex = 0, uint64_t fIndex = 0, const char* fname = NULL, uint64_t frameNumber = 0, uint32_t expLength = 0, uint32_t packetNumber = 0, uint64_t bunchId = 0, uint64_t timestamp = 0, uint16_t modId = 0, uint16_t row = 0, uint16_t column = 0, uint16_t reserved = 0, @@ -262,19 +262,19 @@ public: "{" "\"jsonversion\":%u, " "\"bitmode\":%u, " - "\"fileIndex\":%llu, " + "\"fileIndex\":%lu, " "\"shape\":[%u, %u], " "\"size\":%u, " - "\"acqIndex\":%llu, " - "\"fIndex\":%llu, " + "\"acqIndex\":%lu, " + "\"fIndex\":%lu, " "\"fname\":\"%s\", " "\"data\": %d, " - "\"frameNumber\":%llu, " + "\"frameNumber\":%lu, " "\"expLength\":%u, " "\"packetNumber\":%u, " - "\"bunchId\":%llu, " - "\"timestamp\":%llu, " + "\"bunchId\":%lu, " + "\"timestamp\":%lu, " "\"modId\":%u, " "\"row\":%u, " "\"column\":%u, " diff --git a/slsSupportLib/tests/test-network_utils.cpp b/slsSupportLib/tests/test-network_utils.cpp index d2225dea8..a0087e6e0 100644 --- a/slsSupportLib/tests/test-network_utils.cpp +++ b/slsSupportLib/tests/test-network_utils.cpp @@ -13,7 +13,7 @@ TEST_CASE("Convert mac address using classes") { std::vector vec_addr{346856806822, 346856806852, 262027939863028}; std::vector vec_ans{"00:50:c2:46:d9:a6", "00:50:c2:46:d9:c4", "ee:50:22:46:d9:f4"}; - for (int i = 0; i != vec_addr.size(); ++i) { + for (size_t i = 0; i != vec_addr.size(); ++i) { auto mac0 = MacAddr(vec_addr[i]); auto mac1 = MacAddr(vec_ans[i]); @@ -31,7 +31,7 @@ TEST_CASE("Convert IP using classes ") { std::vector vec_addr{4073554305, 2747957633, 2697625985}; std::vector vec_ans{"129.129.205.242", "129.129.202.163", "129.129.202.160"}; - for (int i = 0; i != vec_addr.size(); ++i) { + for (size_t i = 0; i != vec_addr.size(); ++i) { auto ip0 = IpAddr(vec_addr[i]); auto ip1 = IpAddr(vec_ans[i]);