From a5875dbe1e5a0d7e1722ab1b47390f2227820731 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Tue, 28 Jun 1994 22:12:24 +0000 Subject: Formerly primes.c.~10~ --- proc/primes.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'proc') diff --git a/proc/primes.c b/proc/primes.c index a0be5acb..8ba433d6 100644 --- a/proc/primes.c +++ b/proc/primes.c @@ -17,6 +17,7 @@ #include #include +#include /* Return the next prime greater than or equal to N. */ int @@ -49,9 +50,9 @@ nextprime (int n) /* Alloc */ p = q[l-1] * q[l-1]; - m = alloca (sizeof (int) * p); - bzero (m, sizeof (int) * p); - + m = calloc (p, sizeof (int)); + assert (m); + /* Sieve */ for (i = 0; i < l; i++) for (j = q[i] * 2; j < p; j += q[i]) @@ -63,11 +64,14 @@ nextprime (int n) if (l == k) { q = realloc (q, k * sizeof (int) * 2); + assert (q); k *= 2; } if (!m[i]) q[l++] = i; } + + free (m); } /* Search */ -- cgit v1.2.3