Add an internal-representation no-op function.
[u/mdw/catacomb] / key-text.c
index 490b00b..238c571 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: key-text.c,v 1.1 2000/02/12 18:21:02 mdw Exp $
+ * $Id: key-text.c,v 1.3 2001/02/03 11:57:00 mdw Exp $
  *
  * Key textual encoding
  *
 /*----- Revision history --------------------------------------------------* 
  *
  * $Log: key-text.c,v $
+ * Revision 1.3  2001/02/03 11:57:00  mdw
+ * Track mLib change: symbols no longer need to include a terminating
+ * null.
+ *
+ * Revision 1.2  2000/06/17 11:27:20  mdw
+ * Use secure memory interface from MP library.
+ *
  * Revision 1.1  2000/02/12 18:21:02  mdw
  * Overhaul of key management (again).
  *
@@ -117,11 +124,9 @@ int key_read(const char *p, key_data *k, char **pp)
 
     case KENC_MP: {
       char *q;
-      mp *m = mp_readstring(MP_NEW, p, &q, 0);
+      mp *m = mp_readstring(k->e & KF_BURN ? MP_NEWSEC : MP_NEW, p, &q, 0);
       if (!m)
        return (-1);
-      if (k->e & KF_BURN)
-       mp_burn(m);
       k->u.m = m;
       p = q;
     } break;
@@ -182,7 +187,7 @@ int key_read(const char *p, key_data *k, char **pp)
 
        {
          unsigned f;
-         ks = sym_find(&k->u.s, d.buf, d.len + 1, sizeof(*ks), &f);
+         ks = sym_find(&k->u.s, d.buf, d.len, sizeof(*ks), &f);
          if (f)
            key_destroy(&ks->k);
        }