blueloveTH 1 an în urmă
părinte
comite
3e7af41e1f
2 a modificat fișierele cu 6 adăugiri și 6 ștergeri
  1. 1 1
      include/pocketpy/common/algorithm.h
  2. 5 5
      src/common/algorithm.c

+ 1 - 1
include/pocketpy/common/algorithm.h

@@ -34,7 +34,7 @@
  * `strcmp`.
  */
 bool c11__stable_sort(void* ptr,
-                      int count,
+                      int length,
                       int elem_size,
                       int (*f_lt)(const void* a, const void* b, void* extra),
                       void* extra);

+ 5 - 5
src/common/algorithm.c

@@ -33,16 +33,16 @@ static bool merge(char* a,
 }
 
 bool c11__stable_sort(void* ptr_,
-                      int count,
+                      int length,
                       int elem_size,
                       int (*f_lt)(const void* a, const void* b, void* extra),
                       void* extra) {
     // merge sort
-    char *ptr = ptr_, *tmp = malloc(count * elem_size);
-    for(int seg = 1; seg < count; seg *= 2) {
-        for(char* a = ptr; a < ptr + (count - seg) * elem_size; a += 2 * seg * elem_size) {
+    char *ptr = ptr_, *tmp = malloc(length * elem_size);
+    for(int seg = 1; seg < length; seg *= 2) {
+        for(char* a = ptr; a < ptr + (length - seg) * elem_size; a += 2 * seg * elem_size) {
             char *b = a + seg * elem_size, *a_end = b, *b_end = b + seg * elem_size;
-            if(b_end > ptr + count * elem_size) b_end = ptr + count * elem_size;
+            if(b_end > ptr + length * elem_size) b_end = ptr + length * elem_size;
             bool ok = merge(a, a_end, b, b_end, tmp, elem_size, f_lt, extra);
             if(!ok) {
                 free(tmp);