Update all #include directives to the currently preferred style.
[pspp-builds.git] / src / data / casegrouper.c
index 9e7ab157e1921057ba8aed5a720658df74677067..52238c8c610dff3593eaf6c82553f5e21d8215a7 100644 (file)
@@ -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
 
 #include <config.h>
 
-#include <data/casegrouper.h>
+#include "data/casegrouper.h"
 
 #include <stdlib.h>
 
-#include <data/casereader.h>
-#include <data/casewriter.h>
-#include <data/dictionary.h>
-#include <data/subcase.h>
-#include <libpspp/taint.h>
+#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
@@ -91,8 +91,8 @@ casegrouper_get_next_group (struct casegrouper *grouper,
 
       writer = autopaging_writer_create (
         casereader_get_proto (grouper->reader));
-      case_ref (group_case);
-      casewriter_write (writer, group_case);
+
+      casewriter_write (writer, case_ref (group_case));
 
       while ((tmp = casereader_peek (grouper->reader, 0)) != NULL
              && grouper->same_group (group_case, tmp, grouper->aux))
@@ -100,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);