diff --git a/src/pci_handler.cpp b/src/pci_handler.cpp
index 368b403..0936032 100644
--- a/src/pci_handler.cpp
+++ b/src/pci_handler.cpp
@@ -18,8 +18,7 @@
 
 PciDataHandler::PciDataHandler(uint32_t regionAddress, size_t regionSize,
                                std::unique_ptr<stdplus::fd::Fd> fd) :
-    regionSize(regionSize),
-    fd(std::move(fd)),
+    regionSize(regionSize), fd(std::move(fd)),
     mmap(stdplus::fd::MMap(
         *this->fd, regionSize, stdplus::fd::ProtFlags{PROT_READ | PROT_WRITE},
         stdplus::fd::MMapFlags{stdplus::fd::MMapAccess::Shared}, regionAddress))
@@ -38,8 +37,8 @@
     }
 
     // Read up to regionSize in case the offset + length overflowed
-    uint32_t finalLength = (offset + length < regionSize) ? length
-                                                          : regionSize - offset;
+    uint32_t finalLength =
+        (offset + length < regionSize) ? length : regionSize - offset;
     std::vector<uint8_t> results(finalLength);
 
     std::memcpy(results.data(), mmap.get().data() + offset, finalLength);
@@ -60,8 +59,8 @@
     }
 
     // Write up to regionSize in case the offset + length overflowed
-    uint16_t finalLength = (offset + length < regionSize) ? length
-                                                          : regionSize - offset;
+    uint16_t finalLength =
+        (offset + length < regionSize) ? length : regionSize - offset;
     std::memcpy(mmap.get().data() + offset, bytes.data(), finalLength);
     return finalLength;
 }
