malloca-instead-of-local_alloc.patch from patch #6230.
authorBen Pfaff <blp@gnu.org>
Fri, 12 Oct 2007 04:54:46 +0000 (04:54 +0000)
committerBen Pfaff <blp@gnu.org>
Fri, 12 Oct 2007 04:54:46 +0000 (04:54 +0000)
* alloc.h (local_alloc): Removed.  Changed all users to use
xmalloca instead.
(local_free): Removed.  Changed all users to use freea instead.

* Smake: Drop alloca, alloca-opt modules as we don't use them
anymore.

ChangeLog
Smake
src/data/file-name.c
src/language/command.c
src/language/data-io/list.q
src/language/stats/crosstabs.q
src/libpspp/ChangeLog
src/libpspp/alloc.h

index e35d23829759765d33b56a51a6ea8790b9015280..e18976e8907b78fe866daaac45b916e29b4e23b1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2007-10-11  Ben Pfaff  <blp@gnu.org>
+
+       * Smake: Drop alloca, alloca-opt modules as we don't use them
+       anymore.
+
 2007-10-10  Ben Pfaff  <blp@gnu.org>
 
        * acinclude.m4: Improve formatting.
diff --git a/Smake b/Smake
index 1709a1920d41175b553bd8439b27b54878b26791..edb247e8fb417626d2e1b4f90cc0631169e597d7 100644 (file)
--- a/Smake
+++ b/Smake
@@ -5,8 +5,6 @@ GNULIB = ../gnulib
 GNULIB_TOOL = $(GNULIB)/gnulib-tool
 
 GNULIB_MODULES = \
-       alloca \
-       alloca-opt \
        assert \
        byteswap \
        c-ctype \
index f8ad11d07a342f22fd5bf4cfa026d9a93a412ce0..82279f77b1e2676d5c3e41915b60e734fde64dea 100644 (file)
 #include "intprops.h"
 #include "minmax.h"
 #include "dirname.h"
+#include "xmalloca.h"
 
-#include <libpspp/alloc.h>
 #include <libpspp/message.h>
 #include <data/settings.h>
 #include <libpspp/str.h>
 #include <libpspp/verbose-msg.h>
 #include <libpspp/version.h>
 
+#include "xalloc.h"
+
 #include "gettext.h"
 #define _(msgid) gettext (msgid)
 
@@ -279,13 +281,13 @@ fn_open (const char *fn, const char *mode)
       if (get_safer_mode ())
        return safety_violation (fn);
 
-      s = local_alloc (strlen (fn));
+      s = xmalloca (strlen (fn));
       memcpy (s, fn, strlen (fn) - 1);
       s[strlen (fn) - 1] = 0;
 
       f = popen (s, mode[0] == 'r' ? "r" : "w");
 
-      local_free (s);
+      freea (s);
 
       return f;
     }
index 1688a10eb6e3472dc5fa7e3ae0a21134827fc006..62538c64ff677465e18c25767c79d7aba3bcada3 100644 (file)
@@ -31,7 +31,6 @@
 #include <data/variable.h>
 #include <language/lexer/lexer.h>
 #include <language/prompt.h>
-#include <libpspp/alloc.h>
 #include <libpspp/assertion.h>
 #include <libpspp/compiler.h>
 #include <libpspp/message.h>
@@ -49,6 +48,9 @@
 #include <readline/readline.h>
 #endif
 
+#include "xalloc.h"
+#include "xmalloca.h"
+
 #include "gettext.h"
 #define _(msgid) gettext (msgid)
 #define N_(msgid) msgid
@@ -777,7 +779,7 @@ shell (void)
        {
          const char *cp = strrchr (shell_fn, '/');
          cp = cp ? &cp[1] : shell_fn;
-         shell_process = local_alloc (strlen (cp) + 8);
+         shell_process = xmalloca (strlen (cp) + 8);
          strcpy (shell_process, "-");
          strcat (shell_process, cp);
          if (strcmp (cp, "sh"))
index 135dcc4c954ceec0a762f8c5b0e995d0916744b8..0227c72b1ebb414c4b9f51c19364923a4fad0436 100644 (file)
@@ -21,6 +21,8 @@
 
 #include "intprops.h"
 #include "size_max.h"
+#include "xmalloca.h"
+
 #include <data/casegrouper.h>
 #include <data/casereader.h>
 #include <data/dictionary.h>
@@ -462,8 +464,8 @@ write_fallback_headers (struct outp_driver *d)
   int line_number = 0;
 
   const char *Line = _("Line");
-  char *leader = local_alloc (strlen (Line)
-                              + INT_STRLEN_BOUND (line_number) + 1 + 1);
+  char *leader = xmalloca (strlen (Line)
+                           + INT_STRLEN_BOUND (line_number) + 1 + 1);
 
   while (index < cmd.n_variables)
     {
@@ -517,7 +519,7 @@ write_fallback_headers (struct outp_driver *d)
   d->cp_x = 0;
   d->cp_y += d->font_height;
 
-  local_free (leader);
+  freea (leader);
 }
 
 /* There are three possible layouts for the LIST procedure:
index 86a561e82ff7f57c2049cbcbc8a7333f5b073f37..5277e54528820be8b1efb783c1e31d38a2b14344 100644 (file)
 #include <language/dictionary/split-file.h>
 #include <language/lexer/lexer.h>
 #include <language/lexer/variable-parser.h>
-#include <libpspp/alloc.h>
 #include <libpspp/array.h>
 #include <libpspp/assertion.h>
 #include <libpspp/compiler.h>
 #include <libpspp/hash.h>
 #include <libpspp/message.h>
-#include <libpspp/message.h>
 #include <libpspp/misc.h>
 #include <libpspp/pool.h>
 #include <libpspp/str.h>
@@ -60,6 +58,8 @@
 #include <output/table.h>
 
 #include "minmax.h"
+#include "xalloc.h"
+#include "xmalloca.h"
 
 #include "gettext.h"
 #define _(msgid) gettext (msgid)
@@ -551,7 +551,7 @@ precalc (struct casereader *input, const struct dataset *ds)
 
          sorted_tab = xnrealloc (sorted_tab,
                                   n_sorted_tab + count, sizeof *sorted_tab);
-         v = local_alloc (sizeof *v * x->nvar);
+         v = xmalloca (sizeof *v * x->nvar);
          for (j = 2; j < x->nvar; j++)
             v[j] = get_var_range (x->vars[j])->min;
          for (j = 0; j < count; j++)
@@ -585,7 +585,7 @@ precalc (struct casereader *input, const struct dataset *ds)
                     break;
                 }
            }
-         local_free (v);
+         freea (v);
        }
 
       sorted_tab = xnrealloc (sorted_tab,
@@ -615,7 +615,7 @@ calc_general (struct ccase *c, const struct dataset *ds)
       struct crosstab *x = xtab[t];
       const size_t entry_size = (sizeof (struct table_entry)
                                 + sizeof (union value) * (x->nvar - 1));
-      struct table_entry *te = local_alloc (entry_size);
+      struct table_entry *te = xmalloca (entry_size);
 
       /* Construct table entry for the current record and table. */
       te->table = t;
@@ -664,7 +664,7 @@ calc_general (struct ccase *c, const struct dataset *ds)
       }
 
     next_crosstab:
-      local_free (te);
+      freea (te);
     }
 }
 
@@ -924,7 +924,7 @@ insert_summary (struct tab_table *t, int tab_index, double valid)
 
   /* Crosstabulation name. */
   {
-    char *buf = local_alloc (128 * x->nvar);
+    char *buf = xmalloca (128 * x->nvar);
     char *cp = buf;
     int i;
 
@@ -937,7 +937,7 @@ insert_summary (struct tab_table *t, int tab_index, double valid)
       }
     tab_text (t, 0, 0, TAB_LEFT, buf);
 
-    local_free (buf);
+    freea (buf);
   }
 
   /* Counts and percentages. */
@@ -1064,7 +1064,7 @@ output_pivot_table (struct table_entry **pb, struct table_entry **pe,
 
       /* Title. */
       {
-       char *title = local_alloc (x->nvar * 64 + 128);
+       char *title = xmalloca (x->nvar * 64 + 128);
        char *cp = title;
        int i;
 
@@ -1130,7 +1130,7 @@ output_pivot_table (struct table_entry **pb, struct table_entry **pe,
        strcpy (cp, "].");
 
        tab_title (table, "%s", title);
-       local_free (title);
+       freea (title);
       }
 
       tab_offset (table, 0, 2);
@@ -2734,8 +2734,8 @@ calc_symmetric (double v[N_SYMMETRIC], double ase[N_SYMMETRIC],
   /* Spearman correlation, Pearson's r. */
   if (cmd.a_statistics[CRS_ST_CORR])
     {
-      double *R = local_alloc (sizeof *R * n_rows);
-      double *C = local_alloc (sizeof *C * n_cols);
+      double *R = xmalloca (sizeof *R * n_rows);
+      double *C = xmalloca (sizeof *C * n_cols);
 
       {
        double y, t, c = 0., s = 0.;
@@ -2774,8 +2774,8 @@ calc_symmetric (double v[N_SYMMETRIC], double ase[N_SYMMETRIC],
       calc_r (R, C, &v[6], &t[6], &ase[6]);
       t[6] = v[6] / t[6];
 
-      local_free (R);
-      local_free (C);
+      freea (R);
+      freea (C);
 
       calc_r ((double *) rows, (double *) cols, &v[7], &t[7], &ase[7]);
       t[7] = v[7] / t[7];
index 76e4e7e00992effc4c7a208629ff3ed97ac29859..bd5398ee466e42277c25e351872b079047a21e8e 100644 (file)
@@ -1,3 +1,9 @@
+2007-10-11  Ben Pfaff  <blp@gnu.org>
+
+       * alloc.h (local_alloc): Removed.  Changed all users to use
+       xmalloca instead.
+       (local_free): Removed.  Changed all users to use freea instead.
+
 2007-10-11  Ben Pfaff  <blp@gnu.org>
 
        * float-format.c (float_get_lowest): New function.
index a83db7823b37a6f46924fcc80a6325f0ce3f9d9b..b1a2a65522439fc12400ce7411581fe27b53a180 100644 (file)
 
 void *nmalloc (size_t n, size_t s);
 
-/* alloca() wrapper functions. */
-#if defined HAVE_ALLOCA || defined C_ALLOCA
-#ifdef HAVE_ALLOCA_H
-#include <alloca.h>
-#endif
-#define local_alloc(X) alloca (X)
-#define local_free(P) ((void) 0)
-#else
-#define local_alloc(X) xmalloc (X)
-#define local_free(P) free (P)
-#endif
-
 #endif /* alloc.h */