allocating any. It is a good idea to use alloca(0) in
your main control loop, etc. to force garbage collection. */
+
#ifdef HAVE_CONFIG_H
-#include <scmconfig.h>
+#include "libguile/scmconfig.h"
#endif
-#define malloc(size) (scm_must_malloc ((size), "alloca emulation"))
-extern char *scm_must_malloc ();
-
#ifdef HAVE_STRING_H
#include <string.h>
#endif
#endif
#ifdef emacs
-#include "blockinput.h"
+#include "libguile/blockinput.h"
#endif
/* If compiling with GCC 2, this file's not needed. */
implementations of C, for example under Gould's UTX/32. */
pointer
-alloca (size)
- unsigned size;
+alloca (unsigned size)
{
auto char probe; /* Probes stack depth: */
register char *depth = ADDRESS_FUNCTION (probe);
/* Allocate combined header + user data storage. */
{
- register pointer new = malloc (sizeof (header) + size);
+ register pointer new = (pointer) malloc (sizeof (header) + size);
/* Address of header. */
if (new == 0)
- abort();
+ {
+ write (2, "alloca emulation: out of memory\n", 32);
+ abort();
+ }
((header *) new)->h.next = last_alloca_header;
((header *) new)->h.deep = depth;
#endif /* no alloca */
#endif /* not GCC version 2 */
+
+/*
+ Local Variables:
+ c-file-style: "gnu"
+ End:
+*/