diff --git a/library/common.h b/library/common.h
index 9e4b031..f94b8f4 100644
--- a/library/common.h
+++ b/library/common.h
@@ -41,22 +41,23 @@
  * ```
  */
 #if defined(MBEDTLS_TEST_HOOKS)
-#define MBEDTLS_STATIC_TESTABLE
+#    define MBEDTLS_STATIC_TESTABLE
 #else
-#define MBEDTLS_STATIC_TESTABLE static
+#    define MBEDTLS_STATIC_TESTABLE static
 #endif
 
 #if defined(MBEDTLS_TEST_HOOKS)
-extern void (*mbedtls_test_hook_test_fail)( const char * test, int line, const char * file );
-#define MBEDTLS_TEST_HOOK_TEST_ASSERT( TEST ) \
-       do { \
-            if( ( ! ( TEST ) ) && ( ( *mbedtls_test_hook_test_fail ) != NULL ) ) \
-            { \
-              ( *mbedtls_test_hook_test_fail )( #TEST, __LINE__, __FILE__ ); \
-            } \
-    } while( 0 )
+extern void (*mbedtls_test_hook_test_fail)(const char *test,
+                                           int line,
+                                           const char *file);
+#    define MBEDTLS_TEST_HOOK_TEST_ASSERT(TEST)                            \
+        do {                                                               \
+            if ((!(TEST)) && ((*mbedtls_test_hook_test_fail) != NULL)) {   \
+                (*mbedtls_test_hook_test_fail)(#TEST, __LINE__, __FILE__); \
+            }                                                              \
+        } while (0)
 #else
-#define MBEDTLS_TEST_HOOK_TEST_ASSERT( TEST )
+#    define MBEDTLS_TEST_HOOK_TEST_ASSERT(TEST)
 #endif /* defined(MBEDTLS_TEST_HOOKS) */
 
 /** Allow library to access its structs' private members.
