summaryrefslogtreecommitdiffstats
path: root/g10/keyring.c
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2009-05-06 11:36:06 +0200
committerWerner Koch <wk@gnupg.org>2009-05-06 11:36:06 +0200
commitb6798b5d8d337f4c750f7a6744fcb78687bf4f72 (patch)
tree30c47c7110324d3825f73c3c1daf9383795cb121 /g10/keyring.c
parent* gpgkeys_mailto.in: Set 'mail-from' as a keyserver-option, rather (diff)
downloadgnupg2-b6798b5d8d337f4c750f7a6744fcb78687bf4f72.tar.xz
gnupg2-b6798b5d8d337f4c750f7a6744fcb78687bf4f72.zip
Fix bug#1034.
Remove dead code.
Diffstat (limited to 'g10/keyring.c')
-rw-r--r--g10/keyring.c60
1 files changed, 35 insertions, 25 deletions
diff --git a/g10/keyring.c b/g10/keyring.c
index c01834a6a..2c894312d 100644
--- a/g10/keyring.c
+++ b/g10/keyring.c
@@ -426,42 +426,52 @@ keyring_get_keyblock (KEYRING_HANDLE hd, KBNODE *ret_kb)
}
in_cert = 1;
- if (pkt->pkttype == PKT_RING_TRUST) {
+ if (pkt->pkttype == PKT_RING_TRUST)
+ {
/*(this code is duplicated after the loop)*/
if ( lastnode
&& lastnode->pkt->pkttype == PKT_SIGNATURE
&& (pkt->pkt.ring_trust->sigcache & 1) ) {
- /* this is a ring trust packet with a checked signature
+ /* This is a ring trust packet with a checked signature
* status cache following directly a signature paket.
- * Set the cache status into that signature packet */
+ * Set the cache status into that signature packet. */
PKT_signature *sig = lastnode->pkt->pkt.signature;
sig->flags.checked = 1;
sig->flags.valid = !!(pkt->pkt.ring_trust->sigcache & 2);
}
- /* reset lastnode, so that we set the cache status only from
- * the ring trust packet immediately folling a signature */
+ /* Reset LASTNODE, so that we set the cache status only from
+ * the ring trust packet immediately following a signature. */
lastnode = NULL;
- }
- else {
- node = lastnode = new_kbnode (pkt);
- if (!keyblock)
- keyblock = node;
- else
- add_kbnode (keyblock, node);
-
- if ( pkt->pkttype == PKT_PUBLIC_KEY
- || pkt->pkttype == PKT_PUBLIC_SUBKEY
- || pkt->pkttype == PKT_SECRET_KEY
- || pkt->pkttype == PKT_SECRET_SUBKEY) {
- if (++pk_no == hd->found.pk_no)
- node->flag |= 1;
- }
- else if ( pkt->pkttype == PKT_USER_ID) {
- if (++uid_no == hd->found.uid_no)
- node->flag |= 2;
- }
- }
+ free_packet(pkt);
+ init_packet(pkt);
+ continue;
+ }
+
+
+ node = lastnode = new_kbnode (pkt);
+ if (!keyblock)
+ keyblock = node;
+ else
+ add_kbnode (keyblock, node);
+ switch (pkt->pkttype)
+ {
+ case PKT_PUBLIC_KEY:
+ case PKT_PUBLIC_SUBKEY:
+ case PKT_SECRET_KEY:
+ case PKT_SECRET_SUBKEY:
+ if (++pk_no == hd->found.pk_no)
+ node->flag |= 1;
+ break;
+
+ case PKT_USER_ID:
+ if (++uid_no == hd->found.uid_no)
+ node->flag |= 2;
+ break;
+
+ default:
+ break;
+ }
pkt = xmalloc (sizeof *pkt);
init_packet(pkt);