From e500c89d3c369a74b21fb2f8d6ec174644ab7357 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Joan=20Sol=C3=A0?= <jsola@iri.upc.edu>
Date: Mon, 19 Feb 2018 23:28:21 +0100
Subject: [PATCH] Cleanup code to make more readable

---
 src/processor_base.cpp | 41 ++++++++++++++++++++---------------------
 1 file changed, 20 insertions(+), 21 deletions(-)

diff --git a/src/processor_base.cpp b/src/processor_base.cpp
index a5c44e2ab..9d92a285f 100644
--- a/src/processor_base.cpp
+++ b/src/processor_base.cpp
@@ -89,40 +89,39 @@ void KFPackBuffer::add(const FrameBasePtr& _key_frame, const Scalar& _time_toler
 
 KFPackPtr KFPackBuffer::selectPack(const TimeStamp& _time_stamp, const Scalar& _time_tolerance)
 {
-    KFPackBuffer::Iterator post = container_.upper_bound(_time_stamp);
-    KFPackBuffer::Iterator prev = container_.end();
-
     if (container_.empty())
         return nullptr;
 
-    bool check_post = (post != container_.end());
+    KFPackBuffer::Iterator post = container_.upper_bound(_time_stamp);
+
+    bool prev_exists = (post != container_.begin());
+    bool post_exists = (post != container_.end());
 
-    if (post != container_.begin())
+    bool post_ok = post_exists && checkTimeTolerance(post->first, post->second->time_tolerance, _time_stamp, _time_tolerance);
+
+    if (prev_exists)
     {
-        prev = std::prev(post);
-        if (!checkTimeTolerance(prev->first, prev->second->time_tolerance, _time_stamp, _time_tolerance)
-                && (check_post
-                        && checkTimeTolerance(post->first, post->second->time_tolerance, _time_stamp, _time_tolerance)))
+        KFPackBuffer::Iterator prev = std::prev(post);
+
+        bool prev_ok = checkTimeTolerance(prev->first, prev->second->time_tolerance, _time_stamp, _time_tolerance);
+
+        if (!prev_ok && post_ok)
             return post->second;
-        else if (checkTimeTolerance(prev->first, prev->second->time_tolerance, _time_stamp, _time_tolerance)
-                && !(check_post
-                        && checkTimeTolerance(post->first, post->second->time_tolerance, _time_stamp, _time_tolerance)))
+
+        else if (prev_ok && !post_ok)
             return prev->second;
-        else if (checkTimeTolerance(prev->first, prev->second->time_tolerance, _time_stamp, _time_tolerance)
-                && (check_post
-                        && checkTimeTolerance(post->first, post->second->time_tolerance, _time_stamp, _time_tolerance)))
+
+        else if (prev_ok && post_ok)
         {
-            if (std::fabs((*post).first - _time_stamp) < std::fabs((*prev).first - _time_stamp))
+            if (std::fabs(post->first - _time_stamp) < std::fabs(prev->first - _time_stamp))
                 return post->second;
             else
                 return prev->second;
         }
     }
-    else
-    {
-        if (checkTimeTolerance(post->first, post->second->time_tolerance, _time_stamp, _time_tolerance))
-            return post->second;
-    }
+    else if (post_ok)
+        return post->second;
+
     return nullptr;
 }
 
-- 
GitLab