csv: Close pipe files properly.
authorBen Pfaff <blp@gnu.org>
Thu, 4 Feb 2010 05:05:43 +0000 (21:05 -0800)
committerBen Pfaff <blp@gnu.org>
Sat, 6 Feb 2010 04:14:19 +0000 (20:14 -0800)
csv_create() opens the output file with fn_open() so csv_destroy() should
close it with fn_close() to ensure that pipes and the standard file
descriptors are closed properly.

src/output/csv.c

index 4b99772d42417d04a9ee1a3668ed943531567aa3..625ce82a07505dd99dddff562c5981568af2d311 100644 (file)
@@ -92,10 +92,11 @@ csv_destroy (struct output_driver *driver)
 {
   struct csv_driver *csv = csv_driver_cast (driver);
 
+  if (csv->file != NULL)
+    fn_close (csv->file_name, csv->file);
+
   free (csv->separator);
   free (csv->file_name);
-  if (csv->file != NULL)
-    fclose (csv->file);
   free (csv);
 }