diff options
Diffstat (limited to 'builtins/array.c')
| -rw-r--r-- | builtins/array.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/builtins/array.c b/builtins/array.c index 22abf976..308b4946 100644 --- a/builtins/array.c +++ b/builtins/array.c @@ -467,13 +467,10 @@ static void siftdown(array_t *heap, int64_t startpos, int64_t pos, closure_t com if (cmp >= 0) break; - memcpy(newitem, heap->data + heap->stride*pos, item_size); - // swap pos/parentpos: memcpy(heap->data + heap->stride*pos, heap->data + heap->stride*parentpos, item_size); - memcpy(heap->data + heap->stride*parentpos, newitem, item_size); - pos = parentpos; } + memcpy(heap->data + heap->stride*pos, newitem, item_size); } static void siftup(array_t *heap, int64_t pos, closure_t comparison, const TypeInfo *type) |
