فهرست منبع

Change align_top again

Daniele Bartolini 12 سال پیش
والد
کامیت
523d9068d6
1فایلهای تغییر یافته به همراه8 افزوده شده و 1 حذف شده
  1. 8 1
      src/core/mem/Memory.h

+ 8 - 1
src/core/mem/Memory.h

@@ -45,7 +45,14 @@ inline void* align_top(void* p, size_t align)
 
 	uintptr_t ptr = (uintptr_t)p;
 
-	return (void*)(ptr + (ptr & (align - 1)));
+	const size_t mod = ptr % align;
+
+	if (mod)
+	{
+		ptr += align - mod;
+	}
+
+	return (void*) ptr;
 }
 
 } // namespace memory