X-Git-Url: https://git.distorted.org.uk/u/mdw/catacomb/blobdiff_plain/b817bfc642225b8c3c0b6a7e42d1fb949b61a606..7fb0660b6d7237a7ec859459b2e511eebc0dcdb5:/pfilt.c diff --git a/pfilt.c b/pfilt.c index 7f44569..ae99a9b 100644 --- a/pfilt.c +++ b/pfilt.c @@ -7,7 +7,7 @@ * (c) 1999 Straylight/Edgeware */ -/*----- Licensing notice --------------------------------------------------* +/*----- Licensing notice --------------------------------------------------* * * This file is part of Catacomb. * @@ -15,12 +15,12 @@ * it under the terms of the GNU Library General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. - * + * * Catacomb is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Library General Public License for more details. - * + * * You should have received a copy of the GNU Library General Public * License along with Catacomb; if not, write to the Free * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, @@ -59,7 +59,9 @@ static int smallenough(mp *m) max = mp_sqr(max, max); max->a->n--; /* Permanent allocation */ } - if (MP_CMP(m, <, max)) + if (MP_CMP(m, <=, MP_ONE)) + rc = PGEN_FAIL; + else if (MP_CMP(m, <, max)) rc = PGEN_DONE; return (rc); } @@ -91,6 +93,7 @@ int pfilt_smallfactor(mp *m) rc = PGEN_DONE; else rc = PGEN_FAIL; + break; } } @@ -251,7 +254,7 @@ int pfilt_muladd(pfilt *p, const pfilt *q, mpw m, mpw a) } /* --- Gallivant through the residue table --- */ - + for (i = 0; i < NPRIME; i++) { p->r[i] = (q->r[i] * m + a) % primetab[i]; if (!p->r[i] && rc == PGEN_TRY) {