Clean up file handle code in preparation to add temporary file
[pspp] / src / sfm-write.c
index 4f0f9ec18a763abcfb1ca4b7cf8c548c637028b2..3b74efe151231730bda08eee441900908621c7d3 100644 (file)
@@ -151,7 +151,7 @@ sfm_open_writer (struct file_handle *fh, struct dictionary *d,
   mode = S_IRUSR | S_IRGRP | S_IROTH;
   if (opts.create_writeable)
     mode |= S_IWUSR | S_IWGRP | S_IWOTH;
-  fd = open (handle_get_filename (fh), O_WRONLY | O_CREAT | O_TRUNC, mode);
+  fd = open (fh_get_filename (fh), O_WRONLY | O_CREAT | O_TRUNC, mode);
   if (fd < 0) 
     goto open_error;
 
@@ -173,7 +173,7 @@ sfm_open_writer (struct file_handle *fh, struct dictionary *d,
   w->x = w->y = NULL;
 
   w->var_cnt = dict_get_var_cnt (d);
-  w->vars = xmalloc (sizeof *w->vars * w->var_cnt);
+  w->vars = xnmalloc (w->var_cnt, sizeof *w->vars);
   for (i = 0; i < w->var_cnt; i++) 
     {
       const struct variable *dv = dict_get_var (d, i);
@@ -242,7 +242,7 @@ sfm_open_writer (struct file_handle *fh, struct dictionary *d,
 
   if (w->compress) 
     {
-      w->buf = xmalloc (sizeof *w->buf * 128);
+      w->buf = xnmalloc (128, sizeof *w->buf);
       w->ptr = w->buf;
       w->end = &w->buf[128];
       w->x = (unsigned char *) w->ptr++;
@@ -257,7 +257,7 @@ sfm_open_writer (struct file_handle *fh, struct dictionary *d,
 
  open_error:
   msg (ME, _("Error opening \"%s\" for writing as a system file: %s."),
-       handle_get_filename (w->fh), strerror (errno));
+       fh_get_filename (w->fh), strerror (errno));
   err_cond_fail ();
   goto error;
 }
@@ -527,8 +527,8 @@ write_value_labels (struct sfm_writer *w, struct variable *v, int idx)
 
       *loc++ = vl->value.f;
       *(unsigned char *) loc = len;
-      memcpy (&((unsigned char *) loc)[1], vl->label, len);
-      memset (&((unsigned char *) loc)[1 + len], ' ',
+      memcpy (&((char *) loc)[1], vl->label, len);
+      memset (&((char *) loc)[1 + len], ' ',
              REM_RND_UP (len + 1, sizeof (flt64)));
       loc += DIV_RND_UP (len + 1, sizeof (flt64));
     }
@@ -749,7 +749,7 @@ buf_write (struct sfm_writer *w, const void *buf, size_t nbytes)
   if (fwrite (buf, nbytes, 1, w->file) != 1)
     {
       msg (ME, _("%s: Writing system file: %s."),
-           handle_get_filename (w->fh), strerror (errno));
+           fh_get_filename (w->fh), strerror (errno));
       return 0;
     }
   return 1;
@@ -929,7 +929,7 @@ sfm_close_writer (struct sfm_writer *w)
 
       if (fclose (w->file) == EOF)
         msg (ME, _("%s: Closing system file: %s."),
-             handle_get_filename (w->fh), strerror (errno));
+             fh_get_filename (w->fh), strerror (errno));
     }
 
   free (w->buf);