summaryrefslogtreecommitdiff
path: root/src/make-prime-list.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/make-prime-list.c')
-rw-r--r--src/make-prime-list.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/make-prime-list.c b/src/make-prime-list.c
index c01b1200..0d5b614f 100644
--- a/src/make-prime-list.c
+++ b/src/make-prime-list.c
@@ -3,7 +3,7 @@
Contributed to the GNU project by Torbjörn Granlund and Niels Möller
Contains code from GNU MP.
-Copyright 2012-2014 Free Software Foundation, Inc.
+Copyright 2012-2015 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
@@ -131,7 +131,7 @@ output_primes (const struct prime *primes, unsigned nprimes)
abort ();
printf ("P (%u, %u,\n (", primes[i].p - p, d8);
print_wide_uint (primes[i].pinv, 0, wide_uint_bits);
- printf ("),\n UINTMAX_MAX / %d)\n", primes[i].p);
+ printf ("),\n UINTMAX_MAX / %u)\n", primes[i].p);
p = primes[i].p;
}
@@ -187,7 +187,7 @@ main (int argc, char **argv)
}
limit = atoi (argv[1]);
if (limit < 3)
- exit (EXIT_SUCCESS);
+ return EXIT_SUCCESS;
/* Make limit odd */
if ( !(limit & 1))
@@ -211,12 +211,15 @@ main (int argc, char **argv)
for (j = (p*p - 3)/2; j < size; j+= p)
sieve[j] = 0;
- while (i < size && sieve[++i] == 0)
+ while (++i < size && sieve[i] == 0)
;
}
output_primes (prime_list, nprimes);
+ free (sieve);
+ free (prime_list);
+
if (ferror (stdout) + fclose (stdout))
{
fprintf (stderr, "write error: %s\n", strerror (errno));