]> mj.ucw.cz Git - libucw.git/blobdiff - lib/sorter/s-internal.h
Merge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git
[libucw.git] / lib / sorter / s-internal.h
index 0c39613d45c8642c8fd1186dd5da69ad795b31f3..8cb869fcee02c6259078a0f747420185c83fd861 100644 (file)
@@ -137,7 +137,7 @@ static int P(internal)(struct sort_context *ctx, struct sort_bucket *bin, struct
 #endif
       uns dsize = SORT_DATA_SIZE(key);
       uns recsize = ALIGN_TO(ksize_aligned + dsize, CPU_STRUCT_ALIGN);
-      size_t totalsize = recsize + 2 * P(internal_workspace)(&key);
+      size_t totalsize = recsize + sizeof(P(internal_item_t)) + P(internal_workspace)(&key);
       if (unlikely(totalsize > remains
 #ifdef CPU_64BIT_POINTERS
                   || item >= item_array + ~0U          // The number of items must fit in an uns