diff --git a/src/bridgingcommands.cpp b/src/bridgingcommands.cpp
index 3fa8635..0eaf1e7 100644
--- a/src/bridgingcommands.cpp
+++ b/src/bridgingcommands.cpp
@@ -91,15 +91,15 @@
     return checksum;
 }
 
-static inline bool
-    ipmbConnectionHeaderChecksumValidate(const ipmbHeader* ipmbHeader)
+static inline bool ipmbConnectionHeaderChecksumValidate(
+    const ipmbHeader* ipmbHeader)
 {
     return ipmbChecksumValidate(reinterpret_cast<const uint8_t*>(ipmbHeader),
                                 ipmbConnectionHeaderLength);
 }
 
-static inline bool
-    ipmbDataChecksumValidate(const ipmbHeader* ipmbHeader, size_t length)
+static inline bool ipmbDataChecksumValidate(const ipmbHeader* ipmbHeader,
+                                            size_t length)
 {
     return ipmbChecksumValidate((reinterpret_cast<const uint8_t*>(ipmbHeader) +
                                  ipmbConnectionHeaderLength),
