Handle points at infinity properly in listings.
[u/mdw/catacomb] / keyutil.c
index 4bd42fe..da7485e 100644 (file)
--- a/keyutil.c
+++ b/keyutil.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: keyutil.c,v 1.19 2004/04/03 03:31:01 mdw Exp $
+ * $Id: keyutil.c,v 1.20 2004/04/03 15:14:28 mdw Exp $
  *
  * Simple key manager program
  *
@@ -30,6 +30,9 @@
 /*----- Revision history --------------------------------------------------* 
  *
  * $Log: keyutil.c,v $
+ * Revision 1.20  2004/04/03 15:14:28  mdw
+ * Handle points at infinity properly in listings.
+ *
  * Revision 1.19  2004/04/03 03:31:01  mdw
  * Allow explicit group parameters for DH groups.
  *
@@ -1271,9 +1274,13 @@ static void showkeydata(key_data *k, int ind, listopts *o, dstr *d)
     /* --- Elliptic curve points --- */
 
     case KENC_EC:
-      fputs(" 0x", stdout); mp_writefile(k->u.e.x, stdout, 16);
-      fputs(", 0x", stdout); mp_writefile(k->u.e.y, stdout, 16);
-      putchar('\n');
+      if (EC_ATINF(&k->u.e))
+       fputs("inf\n");
+      else {
+       fputs(" 0x", stdout); mp_writefile(k->u.e.x, stdout, 16);
+       fputs(", 0x", stdout); mp_writefile(k->u.e.y, stdout, 16);
+       putchar('\n');
+      }
       break;      
 
     /* --- Structured keys --- *