From 8419a3fe63312b396d117334837202096365b4c3 Mon Sep 17 00:00:00 2001
From: "se.gorbunov" <se.gorbunov@gsi.de>
Date: Sun, 22 Oct 2023 16:26:12 +0000
Subject: [PATCH] warning fix in the bmon unpacker

---
 algo/detectors/bmon/Unpack.cxx | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/algo/detectors/bmon/Unpack.cxx b/algo/detectors/bmon/Unpack.cxx
index dee3b83b2d..6ccc4cc0c0 100644
--- a/algo/detectors/bmon/Unpack.cxx
+++ b/algo/detectors/bmon/Unpack.cxx
@@ -24,11 +24,6 @@ namespace cbm::algo::bmon
 
     // --- Output data
     resultType result = {};
-    TimeSpec time;
-
-    // --- Current Timeslice start time in epoch units. Note that it is always a multiple of epochs
-    // --- and the epoch is a multiple of ns.
-    time.currentTsTime = static_cast<uint64_t>(tTimeslice / critof001::kuEpochInNs) % critof001::kulEpochCycleEp;
 
     // --- Number of messages in microslice
     auto msSize = msDescr.size;
@@ -63,6 +58,13 @@ namespace cbm::algo::bmon
       }
     }
 
+    TimeSpec time;
+
+    // --- Current Timeslice start time in epoch units. Note that it is always a multiple of epochs
+    // --- and the epoch is a multiple of ns.
+    time.currentTsTime = static_cast<uint64_t>(tTimeslice / critof001::kuEpochInNs) % critof001::kulEpochCycleEp;
+    ProcessEpochMessage(message[0], time);
+
     // --- The last message in the MS is expected to be EndOfMs.
     if (!message[numMessages - 1].isEndOfMs()) {
       result.second.fNumErrInvalidLastMessage++;
@@ -71,7 +73,7 @@ namespace cbm::algo::bmon
     //Check if last message is "EndOfMs"!! Maybe loop to messageNr < numMessages - 1
 
     // --- Message loop
-    for (uint32_t messageNr = 0; messageNr < numMessages; messageNr++) {
+    for (uint32_t messageNr = 1; messageNr < numMessages; messageNr++) {
 
       // --- Action depending on message type
       switch (message[messageNr].getMessageType()) {
-- 
GitLab