diff options
author | Werner Koch <[email protected]> | 2010-01-18 20:14:25 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2010-01-18 20:14:25 +0000 |
commit | e4da3564e0dee1dfd39ac7891dad8d2fb7cd6be0 (patch) | |
tree | 7deee1221410c3801c0ef298f0a00ac6689a6cad /src/gpg-error.c | |
parent | Add some code to build nativley under WindowsCE - not finished. (diff) | |
download | libgpg-error-e4da3564e0dee1dfd39ac7891dad8d2fb7cd6be0.tar.gz libgpg-error-e4da3564e0dee1dfd39ac7891dad8d2fb7cd6be0.zip |
Fix w32ce strerror.
Fix non-w32ce dependency problem.
Diffstat (limited to 'src/gpg-error.c')
-rw-r--r-- | src/gpg-error.c | 40 |
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), |