Update for new keydata interface.
[catacomb-perl] / keystuff.c
index b22f4eb..73e850f 100644 (file)
@@ -71,6 +71,22 @@ SV *keyerr(int rc)
   return (&PL_sv_undef);
 }
 
+const char *keydata_type(Key_Data *kd)
+{
+  const char *cls;
+  if (!kd) return (0);
+  switch (kd->e & KF_ENCMASK) {
+    case KENC_BINARY: cls = "Catacomb::Key::Data::Binary"; break;
+    case KENC_ENCRYPT: cls = "Catacomb::Key::Data::Encrypted"; break;
+    case KENC_EC: cls = "Catacomb::Key::Data::EC"; break;
+    case KENC_STRING: cls = "Catacomb::Key::Data::String"; break;
+    case KENC_STRUCT: cls = "Catacomb::Key::Data::Structured"; break;
+    case KENC_MP: cls = "Catacomb::Key::Data::MP"; break;
+    default: abort();
+  }
+  return (cls);
+}
+
 void keyfile_dec(Key_File *kf)
 {
   kf->ref--;