From b0f5ae703f50b182e5cb28455b549804cc37fb40 Mon Sep 17 00:00:00 2001
From: Cyrille Bagard <nocbos@gmail.com>
Date: Mon, 9 Oct 2023 01:12:07 +0200
Subject: Allow Kaitai numbers to be seen as booleans when needed.

---
 plugins/kaitai/grammar.y | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/plugins/kaitai/grammar.y b/plugins/kaitai/grammar.y
index 9e31113..2f2b820 100644
--- a/plugins/kaitai/grammar.y
+++ b/plugins/kaitai/grammar.y
@@ -1734,6 +1734,26 @@ bool resolve_kaitai_expression_as_boolean(const kaitai_scope_t *locals, const ch
     if (result)
         result = reduce_resolved_kaitai_expression(out);
 
+    if (result)
+    {
+        if (out->type == GVT_UNSIGNED_INTEGER)
+        {
+            out->status = (out->unsigned_integer != 0);
+            out->type = GVT_BOOLEAN;
+        }
+        else if (out->type == GVT_SIGNED_INTEGER)
+        {
+            out->status = (out->signed_integer != 0);
+            out->type = GVT_BOOLEAN;
+        }
+        else if (out->type == GVT_FLOAT)
+        {
+            out->status = (out->floating_number != 0);
+            out->type = GVT_BOOLEAN;
+        }
+
+    }
+
     if (result && out->type != GVT_BOOLEAN)
     {
         EXIT_RESOLVED_VALUE(*out);
-- 
cgit v0.11.2-87-g4458