From 9b7924c7c5d97f83f589f4e185cfabe971f72bc4 Mon Sep 17 00:00:00 2001
From: Cyrille Bagard <nocbos@gmail.com>
Date: Tue, 19 Jun 2018 20:08:49 +0200
Subject: Avoided to cache ARMv7 instruction keyword when unneeded.

---
 plugins/arm/v7/instruction.c | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/plugins/arm/v7/instruction.c b/plugins/arm/v7/instruction.c
index 9eb43ac..ee75efd 100644
--- a/plugins/arm/v7/instruction.c
+++ b/plugins/arm/v7/instruction.c
@@ -299,18 +299,22 @@ static const char *g_armv7_instruction_get_keyword(const GArmV7Instruction *inst
 
     parent = G_ARM_INSTRUCTION(instr);
 
-    if (parent->cached_keyword == NULL)
-    {
-        assert(instr->sid < AOP7_ENC_COUNT);
+    assert(instr->sid < AOP7_ENC_COUNT);
 
-        parent->cached_keyword = strdup(_armv7_keywords[instr->sid]);
+    if (parent->suffix == NULL)
+        result = _armv7_keywords[instr->sid];
 
-        if (parent->suffix != NULL)
+    else
+    {
+        if (parent->cached_keyword == NULL)
+        {
+            parent->cached_keyword = strdup(_armv7_keywords[instr->sid]);
             parent->cached_keyword = stradd(parent->cached_keyword, parent->suffix);
+        }
 
-    }
+        result = parent->cached_keyword;
 
-    result = parent->cached_keyword;
+    }
 
     return result;
 
-- 
cgit v0.11.2-87-g4458