#include <stdlib.h>
#include <libpspp/message.h>
#include "file-handle-def.h"
-#include "filename.h"
+#include "file-name.h"
#include "por-file-writer.h"
#include "sys-file-writer.h"
#include <libpspp/str.h>
struct any_writer *writer;
char *extension;
- extension = fn_extension (fh_get_filename (handle));
+ extension = fn_extension (fh_get_file_name (handle));
str_lowercase (extension);
if (!strcmp (extension, ".por"))
bool
any_writer_close (struct any_writer *writer)
{
+ bool ok;
+
if (writer == NULL)
return true;
switch (writer->type)
{
case SYSTEM_FILE:
- return sfm_close_writer (writer->private);
+ ok = sfm_close_writer (writer->private);
+ break;
case PORTABLE_FILE:
- return pfm_close_writer (writer->private);
+ ok = pfm_close_writer (writer->private);
+ break;
case SCRATCH_FILE:
- return scratch_writer_close (writer->private);
-
+ ok = scratch_writer_close (writer->private);
+ break;
+
default:
abort ();
}
+
+ free (writer);
+ return ok;
}