Split a complex condition into separate ones

Make it more readable
Signed-off-by: Andrzej Kurek <andrzej.kurek@arm.com>
diff --git a/library/x509_crt.c b/library/x509_crt.c
index fc62057..cddbcdb 100644
--- a/library/x509_crt.c
+++ b/library/x509_crt.c
@@ -2637,12 +2637,15 @@
         }
         ++p;
     } while (nonzero_groups < 8);
-    if ((zero_group_start != -1 ? nonzero_groups > 6 : nonzero_groups != 8) ||
-        *p != '\0') {
+
+    if (*p != '\0') {
         return -1;
     }
 
     if (zero_group_start != -1) {
+        if (nonzero_groups > 6) {
+            return -1;
+        }
         int zero_groups = 8 - nonzero_groups;
         int groups_after_zero = nonzero_groups - zero_group_start;
 
@@ -2653,6 +2656,10 @@
                     groups_after_zero * sizeof(*addr));
         }
         memset(addr + zero_group_start, 0, zero_groups * sizeof(*addr));
+    } else {
+        if (nonzero_groups != 8) {
+            return -1;
+        }
     }
     memcpy(dst, addr, sizeof(addr));
     return 0;