General utilities cleanup. Add signature support to catcrypt. Throw in
[u/mdw/catacomb] / key-error.c
1 /* -*-c-*-
2 *
3 * $Id: key-error.c,v 1.4 2004/04/08 01:36:15 mdw Exp $
4 *
5 * Translating key error codes into strings
6 *
7 * (c) 2000 Straylight/Edgeware
8 */
9
10 /*----- Licensing notice --------------------------------------------------*
11 *
12 * This file is part of Catacomb.
13 *
14 * Catacomb is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU Library General Public License as
16 * published by the Free Software Foundation; either version 2 of the
17 * License, or (at your option) any later version.
18 *
19 * Catacomb is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU Library General Public License for more details.
23 *
24 * You should have received a copy of the GNU Library General Public
25 * License along with Catacomb; if not, write to the Free
26 * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
27 * MA 02111-1307, USA.
28 */
29
30 /*----- Header files ------------------------------------------------------*/
31
32 #include <mLib/macros.h>
33 #include "key.h"
34
35 /*----- Error reporting ---------------------------------------------------*/
36
37 /* --- @key_strerror@ --- *
38 *
39 * Arguments: @int err@ = error code from @key_new@
40 *
41 * Returns: Pointer to error string.
42 *
43 * Use: Translates a @KERR@ error code into a human-readable
44 * string.
45 */
46
47 const char *key_strerror(int err)
48 {
49 char *tab[] = {
50 "No error",
51 "Bad tag string",
52 "Bad type string",
53 "Bad comment string",
54 "Keyid already exists",
55 "Key tag already exists",
56 "Key file is read-only",
57 "Key will eventually expire",
58 "Key has expired",
59 "Bad key flags string",
60 "Failed to unlock encrypted key",
61 "Unexpected key encoding type",
62 "Key not found",
63 "Bad attribute name",
64 "Unknown error code"
65 };
66
67 unsigned e = -err;
68 if (e >= N(tab))
69 e = N(tab);
70 return (tab[e]);
71 }
72
73 /*----- That's all, folks -------------------------------------------------*/