X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdata%2Fcasereader-project.c;h=55a8993bab93f297bd84855caade6f9dd3fe239a;hb=54b3aa8432383287c75b9baf954b7bf887126a0c;hp=d3d560f2088deaa734a512e5487e172aee92f4ad;hpb=fe8dc2171009e90d2335f159d05f7e6660e24780;p=pspp diff --git a/src/data/casereader-project.c b/src/data/casereader-project.c index d3d560f208..55a8993bab 100644 --- a/src/data/casereader-project.c +++ b/src/data/casereader-project.c @@ -44,7 +44,7 @@ struct casereader_project }; static struct ccase * -project_case (struct ccase *old, casenumber idx UNUSED, const void *project_) +project_case (struct ccase *old, void *project_) { const struct casereader_project *project = project_; struct ccase *new = case_create (subcase_get_proto (&project->new_sc)); @@ -57,8 +57,8 @@ static bool destroy_projection (void *project_) { struct casereader_project *project = project_; - subcase_destroy (&project->old_sc); - subcase_destroy (&project->new_sc); + subcase_uninit (&project->old_sc); + subcase_uninit (&project->new_sc); free (project); return true; } @@ -81,9 +81,12 @@ casereader_project (struct casereader *subreader, const struct subcase *sc) subcase_init_empty (&project->new_sc); subcase_add_proto_always (&project->new_sc, proto); + static const struct casereader_translator_class class = { + project_case, destroy_projection, + }; + return casereader_translate_stateless (subreader, proto, - project_case, destroy_projection, - project); + &class, project); } } @@ -99,7 +102,7 @@ casereader_project_1 (struct casereader *subreader, int column) subcase_init (&sc, column, caseproto_get_width (subproto, column), SC_ASCEND); reader = casereader_project (subreader, &sc); - subcase_destroy (&sc); + subcase_uninit (&sc); return reader; }