lexer: Reimplement for better testability and internationalization.
[pspp-builds.git] / src / data / make-file.c
index f163d5e7737c0b6cf8e591b385d3cbd128edd36e..63792e90b4a960b406493131b63e73b4f2e86cf7 100644 (file)
 #include "gettext.h"
 #define _(msgid) gettext (msgid)
 
-/* Non ansi compilers may set this */
-#ifndef P_tmpdir
-#define P_tmpdir "/tmp"
-#endif
-
-/* Creates a temporary file and stores its name in *FILE_NAME and
-   a file descriptor for it in *FD.  Returns success.  Caller is
-   responsible for freeing *FILE_NAME. */
-int
-make_temp_file (int *fd, char **file_name)
-{
-  const char *parent_dir;
-
-  assert (file_name != NULL);
-  assert (fd != NULL);
-
-  if (getenv ("TMPDIR") != NULL)
-    parent_dir = getenv ("TMPDIR");
-  else
-    parent_dir = P_tmpdir;
-
-  *file_name = xmalloc (strlen (parent_dir) + 32);
-  sprintf (*file_name, "%s/psppXXXXXX", parent_dir);
-  *fd = mkstemp (*file_name);
-  if (*fd < 0)
-    {
-      msg (ME, _("%s: Creating temporary file: %s."),
-           *file_name, strerror (errno));
-      free (*file_name);
-      *file_name = NULL;
-      return 0;
-    }
-  return 1;
-}
-
-
-/* Creates a temporary file and stores its name in *FILE_NAME and
-   a file stream for it in *FP.  Returns success.  Caller is
-   responsible for freeing *FILE_NAME and for closing *FP */
-int
-make_unique_file_stream (FILE **fp, char **file_name)
-{
-  static int serial = 0;
-  const char *parent_dir;
-
-
-  /* FIXME:
-     Need to check for pre-existing file name.
-     Need also to pass in the directory instead of using /tmp
-  */
-
-  assert (file_name != NULL);
-  assert (fp != NULL);
-
-  if (getenv ("TMPDIR") != NULL)
-    parent_dir = getenv ("TMPDIR");
-  else
-    parent_dir = P_tmpdir;
-
-  *file_name = xmalloc (strlen (parent_dir) + 32);
-
-
-  sprintf (*file_name, "%s/pspp%d.png", parent_dir, serial++);
-
-  *fp = fopen(*file_name, "w");
-
-  if (! *fp )
-    {
-      msg (ME, _("%s: Creating file: %s."), *file_name, strerror (errno));
-      free (*file_name);
-      *file_name = NULL;
-      return 0;
-    }
-
-  return 1;
-}
-\f
 struct replace_file
   {
     struct ll ll;
@@ -305,7 +228,6 @@ unlink_replace_files (void)
       /* We don't free_replace_file(RF) because calling free is unsafe
          from an asynchronous signal handler. */
       unlink (rf->tmp_name);
-      fflush (stdout);
     }
   unblock_fatal_signals ();
 }