aboutsummaryrefslogtreecommitdiffstats
path: root/sm/keylist.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2001-12-18 17:37:48 +0000
committerWerner Koch <[email protected]>2001-12-18 17:37:48 +0000
commit56172ce393437be1434d5af11f775c85ed72c1b0 (patch)
tree73821dd5f67e3f6c7a911d75676aea7041bd6e7a /sm/keylist.c
parent* gpgsm.c (main): Renamed the default key database to "keyring.kbx". (diff)
downloadgnupg-56172ce393437be1434d5af11f775c85ed72c1b0.tar.gz
gnupg-56172ce393437be1434d5af11f775c85ed72c1b0.zip
Changes to be used with the new libksba interface.
libgcrypt-1.1.5 is required (cvs or tarball)
Diffstat (limited to 'sm/keylist.c')
-rw-r--r--sm/keylist.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/sm/keylist.c b/sm/keylist.c
index bae95a6e0..07844fed1 100644
--- a/sm/keylist.c
+++ b/sm/keylist.c
@@ -116,7 +116,8 @@ static void
list_cert_colon (KsbaCert cert, FILE *fp)
{
int idx, trustletter = 0;
- unsigned char *p;
+ char *p;
+ KsbaSexp sexp;
fputs ("crt:", fp);
trustletter = 0;
@@ -144,12 +145,17 @@ list_cert_colon (KsbaCert cert, FILE *fp)
print_time ( ksba_cert_get_validity (cert, 1), fp);
putc (':', fp);
putc (':', fp);
- if ((p = ksba_cert_get_serial (cert)))
+ if ((sexp = ksba_cert_get_serial (cert)))
{
- int i, len = (p[0] << 24) | (p[1] << 16) | (p[2] << 8) | p[3];
- for (i=0; i < len; i++)
- fprintf (fp,"%02X", p[4+i]);
- xfree (p);
+ int len;
+ const unsigned char *s = sexp;
+
+ for (len=0; *s && *s != ':' && digitp (s); s++)
+ len = len*10 + atoi_1 (s);
+ if (*s == ':')
+ for (s++; len; len--, s++)
+ fprintf (fp,"%02X", *s);
+ xfree (sexp);
}
putc (':', fp);
putc (':', fp);