diff options
author | Werner Koch <wk@gnupg.org> | 2002-06-12 11:56:05 +0200 |
---|---|---|
committer | Werner Koch <wk@gnupg.org> | 2002-06-12 11:56:05 +0200 |
commit | 3221ef0add29c939dd7199ab5f0b8fe8be4d3cff (patch) | |
tree | a14cd3611af7f51306ff732c68384d69ca575ba8 | |
parent | * protect-tool.c: Add command --show-keygrip (diff) | |
download | gnupg2-3221ef0add29c939dd7199ab5f0b8fe8be4d3cff.tar.xz gnupg2-3221ef0add29c939dd7199ab5f0b8fe8be4d3cff.zip |
Various changes.
-rw-r--r-- | common/ChangeLog | 12 | ||||
-rw-r--r-- | common/Makefile.am | 7 | ||||
-rw-r--r-- | common/errors.h | 6 | ||||
-rw-r--r-- | common/maperror.c | 5 | ||||
-rwxr-xr-x | common/mkerrtok | 67 |
5 files changed, 91 insertions, 6 deletions
diff --git a/common/ChangeLog b/common/ChangeLog index c9c435cff..ac0f0ede2 100644 --- a/common/ChangeLog +++ b/common/ChangeLog @@ -1,3 +1,15 @@ +2002-06-10 Werner Koch <wk@gnupg.org> + + * errors.h (gnupg_error_token): Add new prototype. + (STATUS_ERROR): New. + + * mkerrtok: New. + * Makefile.am: Use it to create the new error token function. + +2002-06-04 Werner Koch <wk@gnupg.org> + + * maperror.c (map_to_assuan_status): Map Bad_CA_Certificate. + 2002-05-23 Werner Koch <wk@gnupg.org> * no-pth.c, Makefile.am: Removed. diff --git a/common/Makefile.am b/common/Makefile.am index d118e047d..3eb6342c5 100644 --- a/common/Makefile.am +++ b/common/Makefile.am @@ -19,9 +19,9 @@ ## Process this file with automake to produce Makefile.in -EXTRA_DIST = mkerrors +EXTRA_DIST = mkerrors mkerrtok #INCLUDES = -BUILT_SOURCES = errors.c +BUILT_SOURCES = errors.c noinst_LIBRARIES = libcommon.a @@ -37,8 +37,9 @@ libcommon_a_SOURCES = \ libcommon_a_LIBADD = @LIBOBJS@ -errors.c : errors.h mkerrors +errors.c : errors.h mkerrors mkerrtok $(srcdir)/mkerrors < $(srcdir)/errors.h > errors.c + $(srcdir)/mkerrtok < $(srcdir)/errors.h >> errors.c diff --git a/common/errors.h b/common/errors.h index 246a2c0ce..5b5fde781 100644 --- a/common/errors.h +++ b/common/errors.h @@ -178,12 +178,14 @@ enum { STATUS_EXPSIG, STATUS_EXPKEYSIG, - STATUS_TRUNCATED + STATUS_TRUNCATED, + STATUS_ERROR }; -/*-- errors.c (built) --*/ +/*-- errors.c (build by mkerror and mkerrtok) --*/ const char *gnupg_strerror (int err); +const char *gnupg_error_token (int err); #endif /*GNUPG_COMMON_ERRORS_H*/ diff --git a/common/maperror.c b/common/maperror.c index 8b79f51a5..0b4cc0a4d 100644 --- a/common/maperror.c +++ b/common/maperror.c @@ -197,7 +197,10 @@ map_to_assuan_status (int rc) switch (rc) { case 0: break; - case GNUPG_Bad_Certificate: rc = ASSUAN_Bad_Certificate; break; + case GNUPG_Bad_CA_Certificate: + case GNUPG_Bad_Certificate: + rc = ASSUAN_Bad_Certificate; + break; case GNUPG_Bad_Certificate_Path: rc = ASSUAN_Bad_Certificate_Path; break; case GNUPG_Missing_Certificate: rc = ASSUAN_Missing_Certificate; break; case GNUPG_No_Data: rc = ASSUAN_No_Data_Available; break; diff --git a/common/mkerrtok b/common/mkerrtok new file mode 100755 index 000000000..1029614af --- /dev/null +++ b/common/mkerrtok @@ -0,0 +1,67 @@ +#!/bin/sh +# mkerrtok - Create error tokens from errors.h +# and the C source for gnupg_errortoken +# Copyright (C) 2001, 2002 Free Software Foundation, Inc. +# +# This file is part of GnuPG. +# +# GnuPG is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# GnuPG is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + +cat <<EOF +/* Generated automatically by mkerrtok */ +/* Do not edit! */ + +/** + * gnupg_error_token: + * @err: Error code + * + * This function returns a textual representaion of the given + * errorcode. If this is an unknown value, a static string is returned. + * This function differs from gnupg_strerror that it yields the string + * representation of the macro which is never subject to i18n. + * + * Return value: String with the error token. + **/ +const char * +gnupg_error_token (int err) +{ + const char *s; + + switch (err) + { +EOF + +awk ' +/GNUPG_No_Error/ { okay=1 } +!okay {next} +/}/ { exit 0 } +/GNUPG_[A-Za-z_]*/ { print_code($1) } + + +function print_code( s ) +{ +printf " case %s: s=\"", s ; +printf "%s\"; break;\n", substr(s,7); +} +' + +cat <<EOF + default: s = "Unknown_Error"; break; + } + + return s; +} + +EOF |