author | zautrix <zautrix> | 2004-10-19 20:16:14 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2004-10-19 20:16:14 (UTC) |
commit | eca49bb06a71980ef61d078904573f25890fc7f2 (patch) (unidiff) | |
tree | c5338e3b12430248979a9ac2c1c7e6646ea9ecdf /pwmanager/libcrypt/error/strerror-sym.c | |
parent | 53cc32b6e7b1f672bf91b2baf2df6c1e8baf3e0a (diff) | |
download | kdepimpi-eca49bb06a71980ef61d078904573f25890fc7f2.zip kdepimpi-eca49bb06a71980ef61d078904573f25890fc7f2.tar.gz kdepimpi-eca49bb06a71980ef61d078904573f25890fc7f2.tar.bz2 |
Initial revision
Diffstat (limited to 'pwmanager/libcrypt/error/strerror-sym.c') (more/less context) (ignore whitespace changes)
-rw-r--r-- | pwmanager/libcrypt/error/strerror-sym.c | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/pwmanager/libcrypt/error/strerror-sym.c b/pwmanager/libcrypt/error/strerror-sym.c new file mode 100644 index 0000000..3d79f40 --- a/dev/null +++ b/pwmanager/libcrypt/error/strerror-sym.c | |||
@@ -0,0 +1,56 @@ | |||
1 | /* strerror-sym.c - Describing an error code with its symbol name. | ||
2 | Copyright (C) 2003, 2004 g10 Code GmbH | ||
3 | |||
4 | This file is part of libgpg-error. | ||
5 | |||
6 | libgpg-error is free software; you can redistribute it and/or | ||
7 | modify it under the terms of the GNU Lesser General Public License | ||
8 | as published by the Free Software Foundation; either version 2.1 of | ||
9 | the License, or (at your option) any later version. | ||
10 | |||
11 | libgpg-error is distributed in the hope that it will be useful, but | ||
12 | WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
14 | Lesser General Public License for more details. | ||
15 | |||
16 | You should have received a copy of the GNU Lesser General Public | ||
17 | License along with libgpg-error; if not, write to the Free | ||
18 | Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA | ||
19 | 02111-1307, USA. */ | ||
20 | |||
21 | #if HAVE_CONFIG_H | ||
22 | #include <config.h> | ||
23 | #endif | ||
24 | |||
25 | #include <stddef.h> | ||
26 | |||
27 | #include <gpg-error.h> | ||
28 | |||
29 | #include "err-codes-sym.h" | ||
30 | #include "errnos-sym.h" | ||
31 | |||
32 | /* Return a pointer to a string containing the name of the symbol of | ||
33 | the error code in the error value ERR. Returns NULL if the error | ||
34 | code is not known. */ | ||
35 | const char * | ||
36 | gpg_strerror_sym (gpg_error_t err) | ||
37 | { | ||
38 | gpg_err_code_t code = gpg_err_code (err); | ||
39 | |||
40 | if (code & GPG_ERR_SYSTEM_ERROR) | ||
41 | { | ||
42 | int idx; | ||
43 | |||
44 | code &= ~GPG_ERR_SYSTEM_ERROR; | ||
45 | idx = errnos_msgidxof (code); | ||
46 | if (idx >= 0) | ||
47 | return errnos_msgstr + errnos_msgidx[idx]; | ||
48 | else | ||
49 | return NULL; | ||
50 | } | ||
51 | |||
52 | if (msgidxof (code) == msgidxof (GPG_ERR_CODE_DIM)) | ||
53 | return NULL; | ||
54 | |||
55 | return msgstr + msgidx[msgidxof (code)]; | ||
56 | } | ||