pspp-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Pspp-cvs] Changes to pspp/src/sort.c


From: Ben Pfaff
Subject: [Pspp-cvs] Changes to pspp/src/sort.c
Date: Wed, 26 Oct 2005 01:07:51 -0400

Index: pspp/src/sort.c
diff -u pspp/src/sort.c:1.31 pspp/src/sort.c:1.32
--- pspp/src/sort.c:1.31        Sun Jul 31 21:42:46 2005
+++ pspp/src/sort.c     Wed Oct 26 05:06:14 2005
@@ -195,7 +195,7 @@
   dst = casefile_create (casefile_get_value_cnt (src));
   if (case_cnt != 0) 
     {
-      struct indexed_case *cases = malloc (sizeof *cases * case_cnt);
+      struct indexed_case *cases = nmalloc (sizeof *cases, case_cnt);
       if (cases != NULL) 
         {
           unsigned long i;
@@ -278,7 +278,7 @@
   xsrt->value_cnt = casefile_get_value_cnt (casereader_get_casefile (reader));
   xsrt->run_cap = 512;
   xsrt->run_cnt = 0;
-  xsrt->runs = xmalloc (sizeof *xsrt->runs * xsrt->run_cap);
+  xsrt->runs = xnmalloc (xsrt->run_cap, sizeof *xsrt->runs);
   if (write_runs (xsrt, reader))
     {
       struct casefile *output = merge (xsrt);
@@ -446,13 +446,14 @@
   max_cases = get_max_workspace() / approx_case_cost;
   if (max_cases > max_buffers)
     max_cases = max_buffers;
-  irs->records = malloc (sizeof *irs->records * max_cases);
-  for (i = 0; i < max_cases; i++)
-    if (!case_try_create (&irs->records[i].record, irs->xsrt->value_cnt))
-      {
-        max_cases = i;
-        break;
-      }
+  irs->records = nmalloc (sizeof *irs->records, max_cases);
+  if (irs->records != NULL)
+    for (i = 0; i < max_cases; i++)
+      if (!case_try_create (&irs->records[i].record, irs->xsrt->value_cnt))
+        {
+          max_cases = i;
+          break;
+        }
   irs->record_cap = max_cases;
 
   /* Fail if we didn't allocate an acceptable number of cases. */
@@ -548,8 +549,8 @@
       if (xsrt->run_cnt >= xsrt->run_cap) 
         {
           xsrt->run_cap *= 2;
-          xsrt->runs = xrealloc (xsrt->runs,
-                                 sizeof *xsrt->runs * xsrt->run_cap);
+          xsrt->runs = xnrealloc (xsrt->runs,
+                                  xsrt->run_cap, sizeof *xsrt->runs);
         }
       xsrt->runs[xsrt->run_cnt++] = irs->casefile;
       irs->casefile = NULL; 
@@ -674,7 +675,7 @@
   int i;
 
   /* Open input files. */
-  runs = xmalloc (sizeof *runs * run_cnt);
+  runs = xnmalloc (run_cnt, sizeof *runs);
   for (i = 0; i < run_cnt; i++) 
     {
       struct run *r = &runs[i];




reply via email to

[Prev in Thread] Current Thread [Next in Thread]