reftable/writer: drop Git-specific `QSORT()` macro

The reftable writer accidentally uses the Git-specific `QSORT()` macro. This macro removes the need for the caller to provide the element size, but other than that it's mostly equivalent to `qsort()`. Replace the macro accordingly to make the library usable outside of Git. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Patrick Steinhardt committed Aug 12, 2025 at 11:54 UTC d4a2159a78432d787c3f198a58c718b4b4e3d9bb
1 file changed +4 -2
reftable/writer.c
+4 -2
@@ -399,7 +399,8 @@ int reftable_writer_add_refs(struct reftable_writer *w,
399 {
400 int err = 0;
401
402 - QSORT(refs, n, reftable_ref_record_compare_name);
402 + if (n)
403 + qsort(refs, n, sizeof(*refs), reftable_ref_record_compare_name);
404
405 for (size_t i = 0; err == 0 && i < n; i++)
406 err = reftable_writer_add_ref(w, &refs[i]);
@@ -491,7 +492,8 @@ int reftable_writer_add_logs(struct reftable_writer *w,
492 {
493 int err = 0;
494
494 - QSORT(logs, n, reftable_log_record_compare_key);
495 + if (n)
496 + qsort(logs, n, sizeof(*logs), reftable_log_record_compare_key);
497
498 for (size_t i = 0; err == 0 && i < n; i++)
499 err = reftable_writer_add_log(w, &logs[i]);