formatting

This commit is contained in:
jacob 2025-01-16 14:45:57 -06:00
parent 6c5183fe0a
commit bd77959675

View File

@ -57,6 +57,7 @@ typedef SORT_COMPARE_FUNC_DEF(sort_compare_func, a, b, udata);
INLINE void merge_sort_internal(u8 *left, u8 *right, u8 *items, u64 left_count, u64 right_count, u64 item_size, sort_compare_func *callback, void *udata) INLINE void merge_sort_internal(u8 *left, u8 *right, u8 *items, u64 left_count, u64 right_count, u64 item_size, sort_compare_func *callback, void *udata)
{ {
/* Sort */
u64 i = 0; u64 i = 0;
u64 l = 0; u64 l = 0;
u64 r = 0; u64 r = 0;
@ -74,21 +75,18 @@ INLINE void merge_sort_internal(u8 *left, u8 *right, u8 *items, u64 left_count,
} }
} }
/* Copy remaining */ /* Copy remaining */
u64 left_remaining_bytes = (left_count - l) * item_size; if (l != left_count) {
u64 right_remaining_bytes = (right_count - r) * item_size; u64 remaining_count = left_count - l;
if (left_remaining_bytes > 0) { u64 remaining_bytes = remaining_count * item_size;
u8 *dst = items + (i * item_size); u8 *dst = items + (i * item_size);
u8 *src = left + (l * item_size); u8 *src = left + (l * item_size);
MEMCPY(dst, src, left_remaining_bytes); MEMCPY(dst, src, remaining_bytes);
i += left_count - l; } else if (r != right_count) {
l = left_count; u64 remaining_count = right_count - r;
} u64 remaining_bytes = remaining_count * item_size;
if (right_remaining_bytes > 0) {
u8 *dst = items + (i * item_size); u8 *dst = items + (i * item_size);
u8 *src = right + (r * item_size); u8 *src = right + (r * item_size);
MEMCPY(dst, src, right_remaining_bytes); MEMCPY(dst, src, remaining_bytes);
i += right_count - r;
r = right_count;
} }
} }