key-binary.c
[u/mdw/catacomb] / key-error.c
CommitLineData
052b36d0 1/* -*-c-*-
2 *
981bf127 3 * $Id: key-error.c,v 1.3 2004/04/08 01:02:49 mdw Exp $
052b36d0 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/*----- Revision history --------------------------------------------------*
31 *
32 * $Log: key-error.c,v $
981bf127 33 * Revision 1.3 2004/04/08 01:02:49 mdw
34 * key-binary.c
35 *
86a47753 36 * Revision 1.2 2000/02/12 18:55:40 mdw
37 * Make it all compile properly.
38 *
052b36d0 39 * Revision 1.1 2000/02/12 18:21:02 mdw
40 * Overhaul of key management (again).
41 *
42 */
43
44/*----- Header files ------------------------------------------------------*/
45
981bf127 46#include <mLib/macros.h>
052b36d0 47#include "key.h"
48
49/*----- Error reporting ---------------------------------------------------*/
50
51/* --- @key_strerror@ --- *
52 *
53 * Arguments: @int err@ = error code from @key_new@
54 *
55 * Returns: Pointer to error string.
56 *
57 * Use: Translates a @KERR@ error code into a human-readable
58 * string.
59 */
60
61const char *key_strerror(int err)
62{
63 char *tab[] = {
64 "No error",
65 "Bad tag string",
66 "Bad type string",
67 "Bad comment string",
68 "Keyid already exists",
69 "Key tag already exists",
70 "Key file is read-only",
71 "Key will eventually expire",
86a47753 72 "Key has expired",
052b36d0 73 "Bad key flags string",
86a47753 74 "Failed to unlock encrypted key",
75 "Unexpected key encoding type",
76 "Key not found",
981bf127 77 "Bad attribute name",
052b36d0 78 "Unknown error code"
79 };
80
81 unsigned e = -err;
981bf127 82 if (e >= N(tab))
83 e = N(tab);
052b36d0 84 return (tab[e]);
85}
86
87/*----- That's all, folks -------------------------------------------------*/