aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2015-03-19 08:26:23 +0000
committerWerner Koch <[email protected]>2015-03-19 08:26:23 +0000
commit528ee704f8f9d881ba370dcbfa9194d6704f9a2f (patch)
tree6bda473414eb0922ba9c69df35c7dcf64f38bb44
parentAdd GPG_ERR_LDAP_* error codes. (diff)
downloadlibgpg-error-528ee704f8f9d881ba370dcbfa9194d6704f9a2f.tar.gz
libgpg-error-528ee704f8f9d881ba370dcbfa9194d6704f9a2f.zip
Add option --defines to gpg-error.
* src/gpg-error.c (main): Add option --help and --defines. Signed-off-by: Werner Koch <[email protected]>
-rw-r--r--src/gpg-error.c92
1 files changed, 75 insertions, 17 deletions
diff --git a/src/gpg-error.c b/src/gpg-error.c
index 034a61b..672efe7 100644
--- a/src/gpg-error.c
+++ b/src/gpg-error.c
@@ -394,13 +394,27 @@ main (int argc, char *argv[])
fputs ("gpg-error (" PACKAGE_NAME ") " PACKAGE_VERSION "\n", stdout);
exit (0);
}
+ else if (argc == 2 && !strcmp (argv[1], "--help"))
+ {
+ fputs ("gpg-error (" PACKAGE_NAME ") " PACKAGE_VERSION "\n", stdout);
+ fputs ("Options:\n"
+ " --version Print version\n"
+ " --help Print this help\n"
+ " --list Print all error codes\n"
+ " --defines Print all error codes as #define lines\n", stdout);
+ exit (0);
+ }
else if (argc == 2 && !strcmp (argv[1], "--list"))
{
listmode = 1;
}
+ else if (argc == 2 && !strcmp (argv[1], "--defines"))
+ {
+ listmode = 2;
+ }
- if (listmode)
+ if (listmode == 1)
{
for (i=0; i < GPG_ERR_SOURCE_DIM; i++)
{
@@ -423,27 +437,71 @@ main (int argc, char *argv[])
err, gpg_err_code (err),
error_sym, gpg_strerror (err));
}
-
- i = argc; /* Don't run the usual stuff. */
}
- while (i < argc)
+ else if (listmode == 2)
{
- if (get_err_from_number (argv[i], &err)
- || get_err_from_symbol (argv[i], &err)
- || get_err_from_str (argv[i], &err))
- {
+ int n, nmax;
+
+ for (i=0, nmax=0; i < GPG_ERR_SOURCE_DIM; i++)
+ {
+ err = gpg_err_make (i, 1);
source_sym = gpg_strsource_sym (err);
+ if (source_sym)
+ {
+ n = strlen (source_sym);
+ if (n > nmax)
+ nmax = n;
+ }
+ }
+ for (i=0; i < GPG_ERR_SOURCE_DIM; i++)
+ {
+ err = gpg_err_make (i, 1);
+ source_sym = gpg_strsource_sym (err);
+ if (source_sym)
+ printf ("#define %-*s %3u\n", nmax,source_sym,gpg_err_source (err));
+ }
+
+
+ for (i=0, nmax = 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)
+ {
+ n = strlen (error_sym);
+ if (n > nmax)
+ nmax = n;
+ }
+ }
+ 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 ("#define %-*s %5u\n", nmax, error_sym, gpg_err_code (err));
+ }
+ }
+ else /* Standard mode. */
+ {
+ while (i < argc)
+ {
+ if (get_err_from_number (argv[i], &err)
+ || get_err_from_symbol (argv[i], &err)
+ || get_err_from_str (argv[i], &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),
- source_sym ? source_sym : "-", error_sym ? error_sym : "-",
- gpg_strsource (err), gpg_strerror (err));
- }
- else
- fprintf (stderr, _("%s: warning: could not recognize %s\n"),
- argv[0], argv[i]);
- i++;
+ printf ("%u = (%u, %u) = (%s, %s) = (%s, %s)\n",
+ err, gpg_err_source (err), gpg_err_code (err),
+ source_sym ? source_sym : "-", error_sym ? error_sym:"-",
+ gpg_strsource (err), gpg_strerror (err));
+ }
+ else
+ fprintf (stderr, _("%s: warning: could not recognize %s\n"),
+ argv[0], argv[i]);
+ i++;
+ }
}
exit (0);