diff --git a/src/log.c b/src/log.c
index 19959e7..0766a60 100644
--- a/src/log.c
+++ b/src/log.c
@@ -1,7 +1,7 @@
 #include "log.h"
 #include "kint.h"
-#include "vga.h"
 #include "stdarg.h"
+#include "vga.h"
 
 void kprintf(const char *format, ...)
 {
@@ -13,26 +13,23 @@
 		if (*format == '%')
 		{
 			format++;
-			
+
 			switch (*format)
 			{
-			case 'd':
-			{
-				uint x = (uint) va_arg(args, uint);
+			case 'd': {
+				uint x = (uint)va_arg(args, uint);
 				vga_putd(x);
 				break;
 			}
-				
-			case 'x':
-			{
+
+			case 'x': {
 				// consider hex always unsigned
-				uint x = (uint) va_arg(args, uint);
+				uint x = (uint)va_arg(args, uint);
 				vga_putx(x);
 				break;
 			}
 
-			case 's':
-			{
+			case 's': {
 				char *s = va_arg(args, char *);
 				vga_write(s);
 				break;
@@ -50,14 +47,16 @@
 	va_end(args);
 }
 
-void kassert_int(bool condition, const char *message, const char *file, const int line)
+void kassert_int(bool condition, const char *message, const char *file,
+				 const int line)
 {
 	if (!condition)
 	{
 		vga_set_color(LIGHT_RED, BLACK);
 		kprintf("ASSERTION FAILED: %s:%d\n%s\n", file, line, message);
-		
+
 		while (1)
-		{}
+		{
+		}
 	}
 }
