X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=src%2Fmath%2Fsort.c;h=13642e00ea7b8c0f84e71c2c8c54adec9ed111ad;hb=4bc96629da7d8f0354d8ebf297052e881f936d83;hp=a784960420874dd17d0bff8ba8715d824506614b;hpb=339f1956cc727eda788638644ef93ab7852b31cd;p=pspp diff --git a/src/math/sort.c b/src/math/sort.c index a784960420..13642e00ea 100644 --- a/src/math/sort.c +++ b/src/math/sort.c @@ -60,6 +60,9 @@ static struct ccase *pqueue_pop (struct pqueue *, casenumber *); static void output_record (struct sort_writer *); +/* Creates a casewriter that sorts the cases written to it. Once all the cases + have been written, use casewriter_make_reader() to obtain the sorted + results. */ struct casewriter * sort_create_writer (const struct subcase *ordering, const struct caseproto *proto) @@ -99,7 +102,7 @@ sort_casewriter_destroy (struct casewriter *writer UNUSED, void *sort_) { struct sort_writer *sort = sort_; - subcase_destroy (&sort->ordering); + subcase_uninit (&sort->ordering); merge_destroy (sort->merge); pqueue_destroy (sort->pqueue); casewriter_destroy (sort->run); @@ -189,7 +192,7 @@ sort_execute_1var (struct casereader *input, const struct variable *var) subcase_init_var (&sc, var, SC_ASCEND); reader = sort_execute (input, &sc); - subcase_destroy (&sc); + subcase_uninit (&sc); return reader; } @@ -244,7 +247,7 @@ pqueue_destroy (struct pqueue *pq) struct ccase *c = pqueue_pop (pq, &id); case_unref (c); } - subcase_destroy (&pq->ordering); + subcase_uninit (&pq->ordering); free (pq->records); free (pq); }