From: Jonathan McDowell <noodles@earth.li>
Date: Thu, 21 Oct 2004 15:56:47 +0000 (+0000)
Subject: Add links to HTML index output. (Debian bug #275227)
X-Git-Url: https://git.sommitrealweird.co.uk/onak.git/commitdiff_plain/7969830aa1b588dce09752db3ac5a3d780397d48?ds=sidebyside;hp=aaf306bbffc360d48e3643e2bc14433fb7cf6ed7

Add links to HTML index output. (Debian bug #275227)
Add links to get the key data and the verbose index for a key to the
HTML output of op=index. I think this was previously removed to try to
make gpg --search happy, but I've tested 1.2.4 with this change and it
still works.
---

diff --git a/keyindex.c b/keyindex.c
index 5eabd61..d6d62e0 100644
--- a/keyindex.c
+++ b/keyindex.c
@@ -221,22 +221,42 @@ int key_index(struct openpgp_publickey *keys, bool verbose, bool fingerprint,
 		}
 		
 		keyid = (get_keyid(keys) & 0xFFFFFFFF);
-		printf("pub  %5d%c/%08X %04d/%02d/%02d ",
-			length,
-			(type == 1) ? 'R' : ((type == 16) ? 'g' : 
-				((type == 17) ? 'D' : '?')),
-			(uint32_t) keyid,
-			created->tm_year + 1900,
-			created->tm_mon + 1,
-			created->tm_mday);
+
+		if (html) {
+			printf("pub  %5d%c/<a href=\"lookup?op=get&"
+				"search=%08X\">%08X</a> %04d/%02d/%02d ",
+				length,
+				(type == 1) ? 'R' : ((type == 16) ? 'g' : 
+					((type == 17) ? 'D' : '?')),
+				(uint32_t) keyid,
+				(uint32_t) keyid,
+				created->tm_year + 1900,
+				created->tm_mon + 1,
+				created->tm_mday);
+		} else {
+			printf("pub  %5d%c/%08X %04d/%02d/%02d ",
+				length,
+				(type == 1) ? 'R' : ((type == 16) ? 'g' : 
+					((type == 17) ? 'D' : '?')),
+				(uint32_t) keyid,
+				created->tm_year + 1900,
+				created->tm_mon + 1,
+				created->tm_mday);
+		}
 
 		curuid = keys->uids;
 		if (curuid != NULL && curuid->packet->tag == 13) {
 			snprintf(buf, 1023, "%.*s",
 				(int) curuid->packet->length,
 				curuid->packet->data);
-			printf("%s%s\n", 
+			if (html) {
+				printf("<a href=\"lookup?op=vindex&"
+					"search=0x%08X\">",
+					(uint32_t) keyid);
+			}
+			printf("%s%s%s\n", 
 				(html) ? txt2html(buf) : buf,
+				(html) ? "</a>" : "",
 				(keys->revocations == NULL) ? "" :
 					" *** REVOKED ***");
 			if (fingerprint) {