diff --git a/test/vtable/vtable.cpp b/test/vtable/vtable.cpp
index bab3da4..9b563a6 100644
--- a/test/vtable/vtable.cpp
+++ b/test/vtable/vtable.cpp
@@ -2,17 +2,19 @@
 
 #include <gtest/gtest.h>
 
-extern "C" {
-int test_handler(sd_bus_message* m, void* userdata, sd_bus_error* ret_error);
-int test_get(sd_bus* bus, const char* path, const char* interface,
-             const char* property, sd_bus_message* reply, void* userdata,
-             sd_bus_error* ret_error);
-int test_set(sd_bus* bus, const char* path, const char* interface,
-             const char* property, sd_bus_message* value, void* userdata,
-             sd_bus_error* ret_error);
+extern "C"
+{
+    int test_handler(sd_bus_message* m, void* userdata,
+                     sd_bus_error* ret_error);
+    int test_get(sd_bus* bus, const char* path, const char* interface,
+                 const char* property, sd_bus_message* reply, void* userdata,
+                 sd_bus_error* ret_error);
+    int test_set(sd_bus* bus, const char* path, const char* interface,
+                 const char* property, sd_bus_message* value, void* userdata,
+                 sd_bus_error* ret_error);
 
-extern const sd_bus_vtable example2[];
-extern const size_t example2_size;
+    extern const sd_bus_vtable example2[];
+    extern const size_t example2_size;
 }
 
 static const sdbusplus::vtable::vtable_t example[] = {
