aboutsummaryrefslogtreecommitdiffstats
path: root/g10/gpgv.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--g10/gpgv.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/g10/gpgv.c b/g10/gpgv.c
index e708d5c21..2f64f83c7 100644
--- a/g10/gpgv.c
+++ b/g10/gpgv.c
@@ -87,10 +87,24 @@ static ARGPARSE_OPTS opts[] = {
int g10_errors_seen = 0;
+static char *
+make_libversion (const char *libname, const char *(*getfnc)(const char*))
+{
+ const char *s;
+ char *result;
+
+ s = getfnc (NULL);
+ result = xmalloc (strlen (libname) + 1 + strlen (s) + 1);
+ strcpy (stpcpy (stpcpy (result, libname), " "), s);
+ return result;
+}
+
static const char *
my_strusage( int level )
{
+ static char *ver_gcry;
const char *p;
+
switch (level)
{
case 11: p = "gpgv (GnuPG)";
@@ -106,6 +120,13 @@ my_strusage( int level )
"Check signatures against known trusted keys\n");
break;
+ case 20:
+ if (!ver_gcry)
+ ver_gcry = make_libversion ("libgcrypt", gcry_check_version);
+ p = ver_gcry;
+ break;
+
+
default: p = NULL;
}
return p;