| 5635 | memcpy(b, tmp, size); |
| 5636 | } |
| 5637 | static size_t qsort_partition(uint8_t *base, size_t size, ssize_t lo, |
| 5638 | ssize_t hi, int (*compare)(const void *, const void *)) |
| 5639 | { |
| 5640 | uint8_t *pivot = base + size * hi; |
| 5641 | ssize_t i = lo - 1; |
| 5642 | for (ssize_t j = lo; j < hi; j++) |
| 5643 | { |
| 5644 | if (compare(base + size * j, pivot) <= 0) |
| 5645 | { |
| 5646 | i++; |
| 5647 | qsort_swap(base + size * i, base + size * j, size); |
| 5648 | } |
| 5649 | } |
| 5650 | i++; |
| 5651 | qsort_swap(base + size * i, pivot, size); |
| 5652 | return i; |
| 5653 | } |
| 5654 | static void qsort_2(uint8_t *base, size_t size, ssize_t lo, ssize_t hi, |
| 5655 | int (*compare)(const void *, const void *)) |
| 5656 | { |
no test coverage detected