#!/bin/sh
# makekeys - script to generate a keys.h for SFSV

gpg --list-keys --with-key-data $* | awk '
BEGIN { FS=":"
	printf "/* keylisting generated by makekey.awk */\n\n"
	printf "struct { u32 keyid[2];\n"
	printf "         const char *p, *q, *g, *y;\n"
	printf "       } keytable[] = {\n"
      }

$1 == "pub" || $1 == "sub" {
		if( okay ) printf "},\n"
		okay = ($4 == 17)
		if ( okay ) {
		    printf "{\n  { 0x%s, 0x%s },\n",
			    substr($5, 1, 8),
			    substr($5, 9)
		}
		next
	    }

$1 == "pkd" && okay { printf "  \"0x%s\",\n", $4 ; next }
okay  { okay = 0; printf "},\n" }
END   { if( okay ) printf "},\n"
	printf "{ { 0, 0 }, NULL }\n};\n\n"
      }
' >keys.h

