changeset 2253:1c2d1d247afb

cppcheck
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 02 Dec 2025 19:31:36 +0100
parents fc8d9b8acc6b
children 14cd7e87def4
files Applications/Resources/RunCppCheck-2.17.1.sh Applications/Samples/Common/RtViewerView.cpp Applications/Samples/WebAssembly/SingleFrameViewer/SingleFrameViewerApplication.h OrthancStone/UnitTestsSources/ComputationalGeometryTests.cpp OrthancStone/UnitTestsSources/GenericToolboxTests.cpp OrthancStone/UnitTestsSources/GeometryToolboxTests.cpp OrthancStone/UnitTestsSources/Graveyard/TestStructureSet_BGO.cpp OrthancStone/UnitTestsSources/ImageToolboxTests.cpp OrthancStone/UnitTestsSources/PixelTestPatternsTests.cpp OrthancStone/UnitTestsSources/TestMessageBroker.cpp OrthancStone/UnitTestsSources/TestStrategy.cpp
diffstat 11 files changed, 56 insertions(+), 58 deletions(-) [+]
line wrap: on
line diff
--- a/Applications/Resources/RunCppCheck-2.17.1.sh	Tue Dec 02 19:02:05 2025 +0100
+++ b/Applications/Resources/RunCppCheck-2.17.1.sh	Tue Dec 02 19:31:36 2025 +0100
@@ -13,8 +13,11 @@
 assertWithSideEffect:../../OrthancStone/Sources/Loaders/OrthancMultiframeVolumeLoader.cpp:341
 assertWithSideEffect:../../OrthancStone/Sources/Loaders/OrthancMultiframeVolumeLoader.cpp:342
 constParameterPointer:../../OrthancStone/Sources/Platforms/WebAssembly/WebAssemblyOracle.cpp:59
+constParameterPointer:../../RenderingPlugin/Resources/Orthanc/Plugins/OrthancPluginCppWrapper.h:1020
 constVariableReference:../../OrthancStone/Sources/Scene2D/GrayscaleWindowingSceneTracker.cpp:53
+knownConditionTrueFalse:../../Applications/StoneWebViewer/Plugin/Plugin.cpp:99
 knownConditionTrueFalse:../../OrthancStone/Sources/Toolbox/ImageGeometry.cpp:184
+stlFindInsert:../../Applications/StoneWebViewer/WebAssembly/StoneWebViewer.cpp:1813
 unusedStructMember:../../OrthancStone/Sources/Platforms/WebAssembly/WebAssemblyOracle.cpp:293
 EOF
 
@@ -61,20 +64,12 @@
             -I${HOME}/Subversion/orthanc/OrthancFramework/Sources \
             -I${HOME}/Subversion/orthanc/OrthancServer/Plugins/Include/ \
             \
+            ../../Applications/Samples \
+            ../../Applications/StoneWebViewer \
             ../../OrthancStone/Sources \
+            ../../OrthancStone/UnitTestsSources \
+            ../../RenderingPlugin/Sources \
+            \
+            -i ../../OrthancStone/UnitTestsSources/SortedFramesTests.cpp
             \
             2>&1
-
-
-#            \
-#            ../../Applications/Samples \
-#            ../../Applications/StoneWebViewer \
-#            ../../RenderingPlugin/Sources \
-#            \
-#            -i ../../Applications/Samples/RtViewerPlugin/i \
-#            -i ../../Applications/Samples/Sdl/i \
-#            -i ../../Applications/Samples/WebAssembly/i \
-#            -i ../../Applications/StoneWebViewer/Plugin/i \
-#            -i ../../Applications/StoneWebViewer/WebAssembly/StoneModule/i \
-#            -i ../../Applications/StoneWebViewer/WebAssembly/i \
-#            -i ../../Applications/StoneWebViewer/WebAssembly/debug/ \
--- a/Applications/Samples/Common/RtViewerView.cpp	Tue Dec 02 19:02:05 2025 +0100
+++ b/Applications/Samples/Common/RtViewerView.cpp	Tue Dec 02 19:31:36 2025 +0100
@@ -69,15 +69,26 @@
     return app_.lock();
   }
 
+  static void DisplayInfoTextInternal(TextSceneLayer& layer,
+                                      const std::string& msgS,
+                                      const Scene2D& scene,
+                                      const ICompositor& compositor)
+  {
+    // position the fixed info text in the upper right corner
+    layer.SetText(msgS);
+    double cX = compositor.GetCanvasWidth() * (-0.5);
+    double cY = compositor.GetCanvasHeight() * (-0.5);
+    scene.GetCanvasToSceneTransform().Apply(cX, cY);
+    layer.SetPosition(cX, cY);
+  }
+
   void RtViewerView::DisplayInfoText()
   {
     std::unique_ptr<IViewport::ILock> lock(viewport_->Lock());
+
     ViewportController& controller = lock->GetController();
     Scene2D& scene = controller.GetScene();
 
-    // do not try to use stuff too early!
-    const ICompositor& compositor = lock->GetCompositor();
-
     std::stringstream msg;
 
     for (std::map<std::string, std::string>::const_iterator kv = infoTextMap_.begin();
@@ -87,30 +98,24 @@
     }
     std::string msgS = msg.str();
 
-    TextSceneLayer* layerP = NULL;
     if (scene.HasLayer(FIXED_INFOTEXT_LAYER_ZINDEX))
     {
       TextSceneLayer& layer = dynamic_cast<TextSceneLayer&>(
         scene.GetLayer(FIXED_INFOTEXT_LAYER_ZINDEX));
-      layerP = &layer;
+      DisplayInfoTextInternal(layer, msgS, scene, lock->GetCompositor());
     }
     else
     {
       std::unique_ptr<TextSceneLayer> layer(new TextSceneLayer);
-      layerP = layer.get();
       layer->SetColor(0, 255, 0);
       layer->SetFontIndex(1);
       layer->SetBorder(20);
       layer->SetAnchor(BitmapAnchor_TopLeft);
       //layer->SetPosition(0,0);
+      DisplayInfoTextInternal(*layer, msgS, scene, lock->GetCompositor());
       scene.SetLayer(FIXED_INFOTEXT_LAYER_ZINDEX, layer.release());
     }
-    // position the fixed info text in the upper right corner
-    layerP->SetText(msgS.c_str());
-    double cX = compositor.GetCanvasWidth() * (-0.5);
-    double cY = compositor.GetCanvasHeight() * (-0.5);
-    scene.GetCanvasToSceneTransform().Apply(cX, cY);
-    layerP->SetPosition(cX, cY);
+
     lock->Invalidate();
   }
 
--- a/Applications/Samples/WebAssembly/SingleFrameViewer/SingleFrameViewerApplication.h	Tue Dec 02 19:02:05 2025 +0100
+++ b/Applications/Samples/WebAssembly/SingleFrameViewer/SingleFrameViewerApplication.h	Tue Dec 02 19:31:36 2025 +0100
@@ -374,11 +374,11 @@
           Orthanc::DicomMap filter;
           filter.SetValue(Orthanc::DICOM_TAG_STUDY_INSTANCE_UID, studyInstanceUid, false);
           
-          std::set<Orthanc::DicomTag> tags;
-          
           {
             std::unique_ptr<ILoadersContext::ILock> lock(context_.Lock());      
             
+            std::set<Orthanc::DicomTag> tags;
+
             resourcesLoader_->ScheduleQido(loadedStudies_, PRIORITY_ADD_RESOURCES, source_,
                                            Orthanc::ResourceType_Study, filter, tags, CreatePayload(Type_DicomWeb));
             
--- a/OrthancStone/UnitTestsSources/ComputationalGeometryTests.cpp	Tue Dec 02 19:02:05 2025 +0100
+++ b/OrthancStone/UnitTestsSources/ComputationalGeometryTests.cpp	Tue Dec 02 19:31:36 2025 +0100
@@ -45,7 +45,7 @@
     int value_;
     
   public:
-    CounterFactory(int value) :
+    explicit CounterFactory(int value) :
       value_(value)
     {
     }
@@ -62,7 +62,7 @@
     int increment_;
 
   public:
-    IncrementVisitor(int increment) :
+    explicit IncrementVisitor(int increment) :
       increment_(increment)
     {
     }
--- a/OrthancStone/UnitTestsSources/GenericToolboxTests.cpp	Tue Dec 02 19:02:05 2025 +0100
+++ b/OrthancStone/UnitTestsSources/GenericToolboxTests.cpp	Tue Dec 02 19:31:36 2025 +0100
@@ -3923,7 +3923,7 @@
 
     {
       boost::posix_time::ptime start = boost::posix_time::microsec_clock::local_time();
-      for (size_t i = 0; i < NUM_TIMINGS_CONVS; ++i)
+      for (size_t j = 0; j < NUM_TIMINGS_CONVS; ++j)
       {
         ok = StringToDouble(r, txt);
       }
@@ -3933,7 +3933,7 @@
 
     {
       boost::posix_time::ptime start = boost::posix_time::microsec_clock::local_time();
-      for (size_t i = 0; i < NUM_TIMINGS_CONVS; ++i)
+      for (size_t j = 0; j < NUM_TIMINGS_CONVS; ++j)
       {
         try
         {
@@ -4136,7 +4136,7 @@
 
     {
       boost::posix_time::ptime start = boost::posix_time::microsec_clock::local_time();
-      for (size_t i = 0; i < NUM_TIMINGS_CONVS; ++i)
+      for (size_t j = 0; j < NUM_TIMINGS_CONVS; ++j)
       {
         ok = StringToDouble(r, txt);
       }
@@ -4146,7 +4146,7 @@
 
     {
       boost::posix_time::ptime start = boost::posix_time::microsec_clock::local_time();
-      for (size_t i = 0; i < NUM_TIMINGS_CONVS; ++i)
+      for (size_t j = 0; j < NUM_TIMINGS_CONVS; ++j)
       {
         try
         {
--- a/OrthancStone/UnitTestsSources/GeometryToolboxTests.cpp	Tue Dec 02 19:02:05 2025 +0100
+++ b/OrthancStone/UnitTestsSources/GeometryToolboxTests.cpp	Tue Dec 02 19:31:36 2025 +0100
@@ -722,19 +722,19 @@
         const float sy = 2.0f;
         const float sz = 3.0f;
         
-        Vector p = g.GetCoordinates(xx, yy, zz);
+        Vector pp = g.GetCoordinates(xx, yy, zz);
 
         Vector q = (g.GetAxialGeometry().MapSliceToWorldCoordinates(
                       static_cast<double>(x) * sx,
                       static_cast<double>(y) * sy) +
                     z * sz * g.GetAxialGeometry().GetNormal());
-        ASSERT_TRUE(IsEqualVectorL1(p, q));
+        ASSERT_TRUE(IsEqualVectorL1(pp, q));
         
         q = (g.GetCoronalGeometry().MapSliceToWorldCoordinates(
                static_cast<double>(x) * sx,
                static_cast<double>(g.GetDepth() - 1 - z) * sz) +
              y * sy * g.GetCoronalGeometry().GetNormal());
-        ASSERT_TRUE(IsEqualVectorL1(p, q));
+        ASSERT_TRUE(IsEqualVectorL1(pp, q));
 
         /**
          * WARNING: In sagittal geometry, the normal points to
@@ -745,7 +745,7 @@
                static_cast<double>(y) * sy,
                static_cast<double>(g.GetDepth() - 1 - z) * sz) +
              x * sx * (-g.GetSagittalGeometry().GetNormal()));
-        ASSERT_TRUE(IsEqualVectorL1(p, q));
+        ASSERT_TRUE(IsEqualVectorL1(pp, q));
       }
     }
   }
@@ -754,9 +754,9 @@
   ASSERT_EQ(1, (int) VolumeProjection_Coronal);
   ASSERT_EQ(2, (int) VolumeProjection_Sagittal);
   
-  for (int p = 0; p < 3; p++)
+  for (int projectionInt = 0; projectionInt < 3; projectionInt++)
   {
-    VolumeProjection projection = (VolumeProjection) p;
+    VolumeProjection projection = (VolumeProjection) projectionInt;
     const CoordinateSystem3D& s = g.GetProjectionGeometry(projection);
     
     ASSERT_THROW(g.GetProjectionSlice(projection, g.GetProjectionDepth(projection)), Orthanc::OrthancException);
--- a/OrthancStone/UnitTestsSources/Graveyard/TestStructureSet_BGO.cpp	Tue Dec 02 19:02:05 2025 +0100
+++ b/OrthancStone/UnitTestsSources/Graveyard/TestStructureSet_BGO.cpp	Tue Dec 02 19:31:36 2025 +0100
@@ -131,7 +131,7 @@
   public OrthancStone::DicomStructureSetLoader::IInstanceLookupHandler
 {
 public:
-  SliceProcessor(OrthancStone::DicomStructureSetLoader& structLoader) : structLoader_(structLoader)
+  explicit SliceProcessor(OrthancStone::DicomStructureSetLoader& structLoader) : structLoader_(structLoader)
   {
   }
 
--- a/OrthancStone/UnitTestsSources/ImageToolboxTests.cpp	Tue Dec 02 19:02:05 2025 +0100
+++ b/OrthancStone/UnitTestsSources/ImageToolboxTests.cpp	Tue Dec 02 19:31:36 2025 +0100
@@ -31,11 +31,9 @@
 #include <Images/Image.h>
 #include <Images/PixelTraits.h>
 
-#include "stdint.h"
-
+#include <cmath>
 #include <gtest/gtest.h>
-
-#include <cmath>
+#include <stdint.h>
 
 
 TEST(ImageToolbox, SimpleHisto_Grayscale8_BinSize1)
--- a/OrthancStone/UnitTestsSources/PixelTestPatternsTests.cpp	Tue Dec 02 19:02:05 2025 +0100
+++ b/OrthancStone/UnitTestsSources/PixelTestPatternsTests.cpp	Tue Dec 02 19:31:36 2025 +0100
@@ -62,7 +62,7 @@
   ASSERT_EQ(391u, sizeof(bin2c_SimpleRedBlueHGradient_png));
   ASSERT_EQ(390u, contents.size());
 
-  char* resultPngBytes = &(contents[0]);
+  const char* resultPngBytes = &(contents[0]);
 
   int result = memcmp(resultPngBytes, bin2c_SimpleRedBlueHGradient_png, 390);
   ASSERT_EQ(0, result);
@@ -98,7 +98,7 @@
   ASSERT_EQ(400u, sizeof(bin2c_SimpleRedBlueVGradient_png));
   ASSERT_EQ(399u, contents.size());
 
-  char* resultPngBytes = &(contents[0]);
+  const char* resultPngBytes = &(contents[0]);
 
   int result = memcmp(resultPngBytes, bin2c_SimpleRedBlueVGradient_png, 399);
   ASSERT_EQ(0, result);
@@ -127,15 +127,15 @@
 
   // H:R->K, V:G->W, H:B->K
 
-  //                    R   G   B   K   C   M   Y   W
-  uint8_t startR[NCELLS] = {255,000,000,000,000,255,255,255};
-  uint8_t startG[NCELLS] = {000,255,000,000,255,000,255,255};
-  uint8_t startB[NCELLS] = {000,000,255,000,255,255,000,255};
+  //                              R   G   B   K   C   M   Y   W
+  const uint8_t startR[NCELLS] = {255,000,000,000,000,255,255,255};
+  const uint8_t startG[NCELLS] = {000,255,000,000,255,000,255,255};
+  const uint8_t startB[NCELLS] = {000,000,255,000,255,255,000,255};
   
-  //                  K   W   K   W   W   K   W   K
-  uint8_t eeendR[NCELLS] = {000,255,000,255,255,000,255,000};
-  uint8_t eeendG[NCELLS] = {000,255,000,255,255,000,255,000 };
-  uint8_t eeendB[NCELLS] = {000,255,000,255,255,000,255,000 };
+  //                              K   W   K   W   W   K   W   K
+  const uint8_t eeendR[NCELLS] = {000,255,000,255,255,000,255,000};
+  const uint8_t eeendG[NCELLS] = {000,255,000,255,255,000,255,000 };
+  const uint8_t eeendB[NCELLS] = {000,255,000,255,255,000,255,000 };
 
   for(size_t slot = 0; slot < NCELLS; ++slot)
   {
@@ -161,7 +161,7 @@
   ASSERT_EQ(774u, sizeof(bin2c_MultiGradient_png));
   ASSERT_EQ(773u, contents.size());
 
-  char* resultPngBytes = &(contents[0]);
+  const char* resultPngBytes = &(contents[0]);
 
   int result = memcmp(resultPngBytes, bin2c_MultiGradient_png, 773);
   ASSERT_EQ(0, result);
--- a/OrthancStone/UnitTestsSources/TestMessageBroker.cpp	Tue Dec 02 19:02:05 2025 +0100
+++ b/OrthancStone/UnitTestsSources/TestMessageBroker.cpp	Tue Dec 02 19:31:36 2025 +0100
@@ -42,7 +42,7 @@
 
       int payload_;
 
-      MyCustomMessage(int payload) :
+      explicit MyCustomMessage(int payload) :
         payload_(payload)
       {
       }
--- a/OrthancStone/UnitTestsSources/TestStrategy.cpp	Tue Dec 02 19:02:05 2025 +0100
+++ b/OrthancStone/UnitTestsSources/TestStrategy.cpp	Tue Dec 02 19:31:36 2025 +0100
@@ -52,7 +52,7 @@
       }
     }
 
-    bool HasFinished(OrthancStone::BasicFetchingStrategy& strategy)
+    bool HasFinished(const OrthancStone::BasicFetchingStrategy& strategy)
     {
       for (unsigned int i = 0; i < strategy.GetItemsCount(); i++)
       {