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]);
}