From 0014260be32bcb1dd6ffe4d5c4b0a8c7bbb38923 Mon Sep 17 00:00:00 2001
From: Giovanni La Mura <giovanni.lamura@inaf.it>
Date: Tue, 24 Sep 2024 12:56:42 +0200
Subject: [PATCH] Fix nested loop logic in frfme()

---
 src/libnptm/tra_subs.cpp | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/src/libnptm/tra_subs.cpp b/src/libnptm/tra_subs.cpp
index 27f1039f..724c8211 100644
--- a/src/libnptm/tra_subs.cpp
+++ b/src/libnptm/tra_subs.cpp
@@ -96,8 +96,7 @@ void ffrf(
       int ltpo = lpo + l40;
       int imm = l40 * lpo;
       for (int ilmp40 = 1; ilmp40 <= 3; ilmp40++) {
-	// NOTE: if trapping execution diverges, replace "break" with "continue"
-	if ((l40 == 1 && ilmp40 == 1) || (l40 == cil->le && ilmp40 == 3)) break; // ilmp40 loop
+	if ((l40 == 1 && ilmp40 == 1) || (l40 == cil->le && ilmp40 == 3)) continue; // ilmp40 loop
 	int lmpml = ilmp40 - 2;
 	int lmp = l40 + lmpml;
 	uimmp = uim * (-1.0 * lmpml);
@@ -150,8 +149,7 @@ void ffrf(
       int ltpo = lpo + l80;
       int imm = l80 * lpo;
       for (int ilmp80 = 1; ilmp80 <= 3; ilmp80++) {
-	// NOTE: if trapping execution diverges, replace "break" with "continue"
-	if ((l80 == 1 && ilmp80 == 1) || (l80 == cil->le && ilmp80 == 3)) break; // ilmp80 loop
+	if ((l80 == 1 && ilmp80 == 1) || (l80 == cil->le && ilmp80 == 3)) continue; // ilmp80 loop
 	int lmpml = ilmp80 - 2;
 	int lmp = l80 + lmpml;
 	uimmp = uim * (-1.0 * lmpml);
-- 
GitLab