Fri Feb 11 00:08:36 2005 Ben Pfaff <blp@gnu.org>
[pspp] / src / print.c
index b2ef755cf11bc3fde5f53b158d0e65e0f49604f2..33c800c74e0176e73d5f851d189e0889c9476084 100644 (file)
@@ -977,9 +977,10 @@ print_trns_proc (struct trns_header * trns, struct ccase * c,
 static void
 print_trns_free (struct trns_header * t)
 {
+  struct print_trns *prt = (struct print_trns *) t;
   struct prt_out_spec *i, *n;
 
-  for (i = ((struct print_trns *) t)->spec; i; i = n)
+  for (i = prt->spec; i; i = n)
     {
       switch (i->type)
        {
@@ -998,7 +999,9 @@ print_trns_free (struct trns_header * t)
       n = i->next;
       free (i);
     }
-  free (((struct print_trns *) t)->line);
+  if (prt->writer != NULL)
+    dfm_close_writer (prt->writer);
+  free (prt->line);
 }
 \f
 /* PRINT SPACE. */