387 {
388 for (size_t i = 1; i < nmemb; ++i) {
389
390 char temp[256];
391 char* elem_i = base + i * size;
392
393 if (size <= sizeof(temp)) {
394 memcpy(temp, elem_i, size);
395
396 size_t j = i;
397 while (j > 0 && compar(temp, base + (j - 1) * size) < 0) {
398 memcpy(base + j * size, base + (j - 1) * size, size);
399 --j;
400 }
401
402 memcpy(base + j * size, temp, size);
403 } else {
404
405 size_t j = i;
406 while (j > 0 && compar(elem_i, base + (j - 1) * size) < 0) {
408 --j;
409 }
410 }
411 }
412}
void qsort_swap(char *a, char *b, size_t size) FL_NO_EXCEPT
FASTLED_FORCE_INLINE void * memcpy(void *dest, const void *src, size_t n) FL_NO_EXCEPT