aboutsummaryrefslogtreecommitdiffstats
path: root/src/gpg-error.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2010-01-18 20:14:25 +0000
committerWerner Koch <[email protected]>2010-01-18 20:14:25 +0000
commite4da3564e0dee1dfd39ac7891dad8d2fb7cd6be0 (patch)
tree7deee1221410c3801c0ef298f0a00ac6689a6cad /src/gpg-error.c
parentAdd some code to build nativley under WindowsCE - not finished. (diff)
downloadlibgpg-error-e4da3564e0dee1dfd39ac7891dad8d2fb7cd6be0.tar.gz
libgpg-error-e4da3564e0dee1dfd39ac7891dad8d2fb7cd6be0.zip
Fix w32ce strerror.
Fix non-w32ce dependency problem.
Diffstat (limited to '')
-rw-r--r--src/gpg-error.c40
1 files changed, 36 insertions, 4 deletions
diff --git a/src/gpg-error.c b/src/gpg-error.c
index eefd672..6cfe292 100644
--- a/src/gpg-error.c
+++ b/src/gpg-error.c
@@ -462,6 +462,10 @@ int
main (int argc, char *argv[])
{
int i = 1;
+ int listmode = 0;
+ const char *source_sym;
+ const char *error_sym;
+ gpg_error_t err;
#ifndef GPG_ERR_INITIALIZED
gpg_err_init ();
@@ -481,18 +485,46 @@ main (int argc, char *argv[])
fputs ("gpg-error (" PACKAGE_NAME ") " PACKAGE_VERSION "\n", stdout);
exit (0);
}
+ else if (argc == 2 && !strcmp (argv[1], "--list"))
+ {
+ listmode = 1;
+ }
+ if (listmode)
+ {
+ for (i=0; i < GPG_ERR_SOURCE_DIM; i++)
+ {
+ /* We use error code 1 because gpg_err_make requires a
+ non-zero error code. */
+ err = gpg_err_make (i, 1);
+ err -= 1;
+ source_sym = gpg_strsource_sym (err);
+ if (source_sym)
+ printf ("%u = (%u, -) = (%s, -) = (%s, -)\n",
+ err, gpg_err_source (err),
+ source_sym, gpg_strsource (err));
+ }
+ for (i=0; i < GPG_ERR_CODE_DIM; i++)
+ {
+ err = gpg_err_make (GPG_ERR_SOURCE_UNKNOWN, i);
+ error_sym = gpg_strerror_sym (err);
+ if (error_sym)
+ printf ("%u = (-, %u) = (-, %s) = (-, %s)\n",
+ err, gpg_err_code (err),
+ error_sym, gpg_strerror (err));
+ }
+
+ i = argc; /* Don't run the usual stuff. */
+ }
while (i < argc)
{
- gpg_error_t err;
-
if (get_err_from_number (argv[i], &err)
|| get_err_from_symbol (argv[i], &err)
|| get_err_from_str (argv[i], &err))
{
- const char *source_sym = gpg_strsource_sym (err);
- const char *error_sym = gpg_strerror_sym (err);
+ source_sym = gpg_strsource_sym (err);
+ error_sym = gpg_strerror_sym (err);
printf ("%u = (%u, %u) = (%s, %s) = (%s, %s)\n",
err, gpg_err_source (err), gpg_err_code (err),