Removed extra free
[pspp-builds.git] / src / flip.c
index 37b461db375cab18d2a25a9e57b2b40b6c82812b..204982357b043ddb45eddec19502b43c9bbf79f0 100644 (file)
@@ -42,6 +42,9 @@
 #include <sys/types.h>
 #endif
 
+#include "gettext.h"
+#define _(msgid) gettext (msgid)
+
 /* List of variable names. */
 struct varname
   {
@@ -54,7 +57,7 @@ struct flip_pgm
   {
     struct variable **var;      /* Variables to transpose. */
     int *idx_to_fv;             /* var[]->index to compacted sink case fv. */
-    int var_cnt;                /* Number of elements in `var'. */
+    size_t var_cnt;             /* Number of elements in `var'. */
     int case_cnt;               /* Pre-flip case count. */
     size_t case_size;           /* Post-flip bytes per case. */
 
@@ -121,7 +124,7 @@ cmd_flip (void)
 
   if (flip->new_names)
     {
-      int i;
+      size_t i;
       
       for (i = 0; i < flip->var_cnt; i++)
        if (flip->var[i] == flip->new_names)
@@ -279,10 +282,10 @@ static struct case_sink *
 flip_sink_create (struct flip_pgm *flip) 
 {
   struct flip_sink_info *info = xmalloc (sizeof *info);
-  int i;
+  size_t i;
 
   info->flip = flip;
-  info->output_buf = xmalloc (sizeof *info->output_buf * flip->var_cnt);
+  info->output_buf = xnmalloc (flip->var_cnt, sizeof *info->output_buf);
 
   flip->file = tmpfile ();
   if (!flip->file)
@@ -307,13 +310,13 @@ flip_sink_write (struct case_sink *sink, const struct ccase *c)
 {
   struct flip_sink_info *info = sink->aux;
   struct flip_pgm *flip = info->flip;
-  int i;
+  size_t i;
   
   flip->case_cnt++;
 
   if (flip->new_names != NULL)
     {
-      struct varname *v = xmalloc (sizeof (struct varname));
+      struct varname *v = xmalloc (sizeof *v);
       v->next = NULL;
       if (flip->new_names->type == NUMERIC) 
         {
@@ -376,7 +379,7 @@ flip_file (struct flip_pgm *flip)
 
   /* Allocate memory for many cases. */
   case_bytes = flip->var_cnt * sizeof *input_buf;
-  case_capacity = get_max_workspace() / case_bytes;
+  case_capacity = get_workspace () / case_bytes;
   if (case_capacity > flip->case_cnt * 2)
     case_capacity = flip->case_cnt * 2;
   if (case_capacity < 2)
@@ -413,7 +416,7 @@ flip_file (struct flip_pgm *flip)
     {
       unsigned long read_cases = min (flip->case_cnt - case_idx,
                                       case_capacity);
-      int i;
+      size_t i;
 
       if (read_cases != fread (input_buf, case_bytes, read_cases, input_file))
        msg (FE, _("Error reading FLIP file: %s."), strerror (errno));
@@ -494,9 +497,9 @@ flip_source_read (struct case_source *source,
 {
   struct flip_pgm *flip = source->aux;
   union value *input_buf;
-  int i;
+  size_t i;
 
-  input_buf = xmalloc (sizeof *input_buf * flip->case_cnt);
+  input_buf = xnmalloc (flip->case_cnt, sizeof *input_buf);
   for (i = 0; i < flip->var_cnt; i++)
     {
       size_t j;