diff --git a/test/message/payload.cpp b/test/message/payload.cpp
index 59947c6..5931694 100644
--- a/test/message/payload.cpp
+++ b/test/message/payload.cpp
@@ -19,6 +19,7 @@
 
 #include <ipmid/api.hpp>
 #include <ipmid/message.hpp>
+
 #include <stdexcept>
 
 #include <gtest/gtest.h>
@@ -314,19 +315,22 @@
 
 std::vector<std::string> logs;
 
-extern "C" {
-int sd_journal_send(const char* format, ...)
+extern "C"
 {
-    logs.push_back(format);
-    return 0;
-}
+    int sd_journal_send(const char* format, ...)
+    {
+        logs.push_back(format);
+        return 0;
+    }
 
-int sd_journal_send_with_location(const char* /*file*/, const char* /*line*/,
-                                  const char* /*func*/, const char* format, ...)
-{
-    logs.push_back(format);
-    return 0;
-}
+    int sd_journal_send_with_location(const char* /*file*/,
+                                      const char* /*line*/,
+                                      const char* /*func*/, const char* format,
+                                      ...)
+    {
+        logs.push_back(format);
+        return 0;
+    }
 }
 
 class PayloadLogging : public testing::Test
@@ -436,7 +440,6 @@
         throw std::runtime_error("test");
     }
     catch (...)
-    {
-    }
+    {}
     EXPECT_EQ(logs.size(), 0);
 }
