X-Git-Url: https://the.earth.li/gitweb/?a=blobdiff_plain;f=decodekey.c;h=8fca1762464a474bfebc994edafec13bedf2d6ec;hb=b3e534f945ae56605bc5309e7c5af020c797a69b;hp=46c75833d3317a41d6bca8084dc1e525e1037a12;hpb=1044f25379a43ce9cc5cd3b780abfdbcf49b06d5;p=onak.git diff --git a/decodekey.c b/decodekey.c index 46c7583..8fca176 100644 --- a/decodekey.c +++ b/decodekey.c @@ -5,7 +5,7 @@ * * Copyright 2002 Project Purple * - * $Id: decodekey.c,v 1.3 2003/06/08 10:45:44 noodles Exp $ + * $Id: decodekey.c,v 1.6 2004/05/27 03:24:01 noodles Exp $ */ #include @@ -84,6 +84,12 @@ int parse_subpackets(unsigned char *data, uint64_t *keyid) *keyid <<= 8; *keyid += data[offset+packetlen - 1]; break; + case 20: + /* + * Annotation data. + */ + break; + case 23: /* * Key server preferences. Including no-modify. @@ -212,6 +218,10 @@ char **keyuids(struct openpgp_publickey *key, char **primary) char buf[1024]; char **uids = NULL; int count = 0; + + if (primary != NULL) { + *primary = NULL; + } if (key != NULL && key->uids != NULL) { uids = malloc((spsize(key->uids) + 1) * sizeof (char *)); @@ -228,12 +238,13 @@ char **keyuids(struct openpgp_publickey *key, char **primary) curuid = curuid -> next; } uids[count] = NULL; - } - /* - * TODO: Parse subpackets for real primary ID (v4 keys) - */ - if (primary != NULL) { - *primary = uids[0]; + + /* + * TODO: Parse subpackets for real primary ID (v4 keys) + */ + if (primary != NULL) { + *primary = uids[0]; + } } return uids;