diff options
| author | Werner Koch <[email protected]> | 2015-07-23 09:40:09 +0000 | 
|---|---|---|
| committer | Werner Koch <[email protected]> | 2015-07-23 09:40:09 +0000 | 
| commit | c23f8897105ce2bb6e62d9c44ca0779fcc08a919 (patch) | |
| tree | 1472b41216731c427f321fa4bc1ae40c7d85af46 /src/gpgme-tool.c | |
| parent | Post release updates (diff) | |
| download | gpgme-c23f8897105ce2bb6e62d9c44ca0779fcc08a919.tar.gz gpgme-c23f8897105ce2bb6e62d9c44ca0779fcc08a919.zip | |
Add option --lib-version to gpgme-tool.
* src/gpgme-tool.c (options, parse_options):  Add --lib-version
(CMD_LIBVERSION): New.
(main): Implement.
Diffstat (limited to '')
| -rw-r--r-- | src/gpgme-tool.c | 27 | 
1 files changed, 23 insertions, 4 deletions
| diff --git a/src/gpgme-tool.c b/src/gpgme-tool.c index d42179bd..94d11248 100644 --- a/src/gpgme-tool.c +++ b/src/gpgme-tool.c @@ -3728,6 +3728,7 @@ static char args_doc[] = "COMMAND [OPTIONS...]";  static struct argp_option options[] = {    { "server", 's', 0, 0, "Server mode" },    { "gpg-binary", 501, "FILE", 0, "Use FILE for the GPG backend" }, +  { "lib-version", 502, 0, 0, "Show library version" },    { 0 }  }; @@ -3736,7 +3737,7 @@ static struct argp argp = { options, parse_options, args_doc, doc };  struct args  { -  enum { CMD_DEFAULT, CMD_SERVER } cmd; +  enum { CMD_DEFAULT, CMD_SERVER, CMD_LIBVERSION } cmd;    const char *gpg_binary;  }; @@ -3762,6 +3763,11 @@ parse_options (int key, char *arg, struct argp_state *state)      case 501:        args->gpg_binary = arg;        break; + +    case 502: +      args->cmd = CMD_LIBVERSION; +      break; +  #if 0      case ARGP_KEY_ARG:        if (state->arg_num >= 2) @@ -3787,6 +3793,7 @@ main (int argc, char *argv[])    struct args args;    struct gpgme_tool gt;    gpg_error_t err; +  int needgt = 1;  #ifdef HAVE_SETLOCALE    setlocale (LC_ALL, ""); @@ -3804,7 +3811,10 @@ main (int argc, char *argv[])    argp_parse (&argp, argc, argv, 0, 0, &args);    log_init (); -  if (args.gpg_binary) +  if (args.cmd == CMD_LIBVERSION) +    needgt = 0; + +  if (needgt && args.gpg_binary)      {        if (access (args.gpg_binary, X_OK))          err = gpg_error_from_syserror (); @@ -3816,7 +3826,8 @@ main (int argc, char *argv[])                     args.gpg_binary);      } -  gt_init (>); +  if (needgt) +    gt_init (>);    switch (args.cmd)      { @@ -3824,9 +3835,17 @@ main (int argc, char *argv[])      case CMD_SERVER:        gpgme_server (>);        break; + +    case CMD_LIBVERSION: +      printf ("Version from header: %s (0x%06x)\n", +              GPGME_VERSION, GPGME_VERSION_NUMBER); +      printf ("Version from binary: %s\n", gpgme_check_version (NULL)); +      printf ("Copyright blurb ...:%s\n", gpgme_check_version ("\x01\x01")); +      break;      } -  gpgme_release (gt.ctx); +  if (needgt) +    gpgme_release (gt.ctx);  #ifdef HAVE_W32CE_SYSTEM    /* Give the buggy ssh server time to flush the output buffers.  */ | 
