X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdata%2Fcasegrouper.c;h=52238c8c610dff3593eaf6c82553f5e21d8215a7;hb=81579d9e9f994fb2908f50af41c3eb033d216e58;hp=86788ba7a3bc5afcbd280ad2be920685a48e76db;hpb=8af88c0b7ea2fe75df7e45497988ed0371006a86;p=pspp-builds.git diff --git a/src/data/casegrouper.c b/src/data/casegrouper.c index 86788ba7..52238c8c 100644 --- a/src/data/casegrouper.c +++ b/src/data/casegrouper.c @@ -1,5 +1,5 @@ /* PSPP - a program for statistical analysis. - Copyright (C) 2007, 2009 Free Software Foundation, Inc. + Copyright (C) 2007, 2009, 2011 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -16,17 +16,17 @@ #include -#include +#include "data/casegrouper.h" #include -#include -#include -#include -#include -#include +#include "data/casereader.h" +#include "data/casewriter.h" +#include "data/dictionary.h" +#include "data/subcase.h" +#include "libpspp/taint.h" -#include "xalloc.h" +#include "gl/xalloc.h" /* A casegrouper. */ struct casegrouper @@ -89,9 +89,10 @@ casegrouper_get_next_group (struct casegrouper *grouper, return false; } - writer = autopaging_writer_create (casereader_get_value_cnt (grouper->reader)); - case_ref (group_case); - casewriter_write (writer, group_case); + writer = autopaging_writer_create ( + casereader_get_proto (grouper->reader)); + + casewriter_write (writer, case_ref (group_case)); while ((tmp = casereader_peek (grouper->reader, 0)) != NULL && grouper->same_group (group_case, tmp, grouper->aux)) @@ -99,6 +100,7 @@ casegrouper_get_next_group (struct casegrouper *grouper, case_unref (casereader_read (grouper->reader)); casewriter_write (writer, tmp); } + case_unref (tmp); case_unref (group_case); *reader = casewriter_make_reader (writer);