Add an internal-representation no-op function.
[u/mdw/catacomb] / passphrase.c
index e19aed4..a8dacc2 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: passphrase.c,v 1.2 2000/06/17 11:49:37 mdw Exp $
+ * $Id: passphrase.c,v 1.4 2001/04/19 18:26:01 mdw Exp $
  *
  * Reading of passphrases (Unix-specific)
  *
 /*----- Revision history --------------------------------------------------* 
  *
  * $Log: passphrase.c,v $
+ * Revision 1.4  2001/04/19 18:26:01  mdw
+ * Re-request broken passphrases.
+ *
+ * Revision 1.3  2000/12/06 20:33:27  mdw
+ * Make flags be macros rather than enumerations, to ensure that they're
+ * unsigned.
+ *
  * Revision 1.2  2000/06/17 11:49:37  mdw
  * New pixie protocol allowing application to request passphrases and send
  * them to the pixie.
@@ -58,9 +65,7 @@
 static int fd = -1;
 static unsigned flags = 0;
 
-enum {
-  f_fail = 1
-};
+#define f_fail 1u
 
 /*----- Main code ---------------------------------------------------------*/
 
@@ -120,6 +125,7 @@ int passphrase_read(const char *tag, unsigned mode, char *buf, size_t sz)
 
   /* --- Read from the terminal --- */
 
+again:
   dstr_putf(&d, "%s %s: ",
            mode == PMODE_READ ? "Passphrase" : "New passphrase",
            tag);
@@ -132,7 +138,6 @@ int passphrase_read(const char *tag, unsigned mode, char *buf, size_t sz)
     if (pixie_getpass(d.buf, b, sizeof(b)) ||
        strcmp(b, buf) != 0) {
       memset(b, 0, sizeof(b));
-      goto fail;
     }
   }
   dstr_destroy(&d);