Export better list of errors.
[u/mdw/catacomb] / key-error.c
index b114798..b4f8ffe 100644 (file)
 
 const char *key_strerror(int err)
 {
-  char *tab[] = {
-    "No error",
-    "Bad tag string",
-    "Bad type string",
-    "Bad comment string",
-    "Keyid already exists",
-    "Key tag already exists",
-    "Key file is read-only",
-    "Key will eventually expire",
-    "Key has expired",
-    "Bad key flags string",
-    "Failed to unlock encrypted key",
-    "Unexpected key encoding type",
-    "Key not found",
-    "Bad attribute name",
-    "Malformed key data",
-    "I/O errror",
+  static const char *const tab[] = {
+#define ENTRY(tag, num, str) str,
+    KEY_ERRORS(ENTRY)
+#undef ENTRY
     "Unknown error code"
   };
   
   unsigned e = -err;
   if (e >= N(tab))
-    e = N(tab);
+    e = N(tab) - 1;
  return (tab[e]);
 }