chiark / gitweb /
math/, pub/: Take a more consistent approach to prime-generation failures.
[catacomb] / pub / bbs-gen.c
index e9e6922e316711cfd93b466de9292108a03fef94..f57683f10fb57c96ae1cc88f20cf5fd0fc6d4f9a 100644 (file)
@@ -69,18 +69,13 @@ int bbs_gen(bbs_priv *bp, unsigned nbits, grand *r, unsigned n,
 
   /* --- Generate @p@ --- */
 
-again:
   if ((x = strongprime_setup("p", x, &jp, nb, r, n, event, ectx)) == 0)
     goto fail_x;
   j.j = &jp;
   bp->p = pgen("p", MP_NEW, x, event, ectx, n, pgen_jump, &j,
               rabin_iters(nb), pgen_test, &rb);
   pfilt_destroy(&jp);
-  if (!bp->p) {
-    if (n)
-      goto fail_p;
-    goto again;
-  }
+  if (!bp->p) goto fail_p;
 
   /* --- Generate @q@ --- */
 
@@ -98,12 +93,7 @@ again:
   pfilt_destroy(&g.jp);
   mp_drop(g.r);
   mp_drop(g.g);
-  if (!bp->q) {
-    if (n)
-      goto fail_q;
-    mp_drop(bp->p);
-    goto again;
-  }
+  if (!bp->q) goto fail_q;
 
   /* --- Compute @n@ --- */