Update gpg-delsig description in manual
[pgp-tools.git] / gpgsigs / gpgsigs
index 5e97c2bc09b976b7c3f81356b0e2afc3ba852120..a93676dc48d6b1edfa5f068094d36174ee90c892 100644 (file)
@@ -107,7 +107,9 @@ sub myrecode($) {
                $rt->recode($text);
                return $text;
        } elsif (defined $it) {
-               return $it->convert($text);
+               my $result = $it->convert($text);
+               warn ("Could not convert '$text'\n") unless defined $result;
+               return (defined $result) ? $result : $text
        } else {
                my $pid = open3(\*WTRFH, \*RDRFH, \*ERRFH, 'recode', "utf8..$charset");
                print WTRFH $text;
@@ -117,8 +119,8 @@ sub myrecode($) {
                close RDRFH;
                close ERRFH;
                waitpid $pid, 0;
-               die ("'recode' failed, is it installed?\n") unless defined $result;
-               return $result;
+               warn ("'recode' failed, is it installed?\n") unless defined $result;
+               return (defined $result) ? $result : $text
        }
 }
 
@@ -197,10 +199,10 @@ for my $k ( keys %{$sigs} ) {
 
 
 # read checksums
-open MD, "gpg --print-md md5 $keytxt|" or warn "can't get gpg md5";
+open MD, "gpg --print-md md5 $keytxt|" or warn "can't get gpg md5\n";
 my $MD5 = <MD>;
 close MD;
-open MD, "gpg --print-md sha1 $keytxt|" or warn "can't get gpg sha1";
+open MD, "gpg --print-md sha1 $keytxt|" or warn "can't get gpg sha1\n";
 my $SHA1 = <MD>;
 close MD;
 
@@ -216,8 +218,8 @@ sub print_tag
 {
        my ($key, $uid) = @_;
        if (! defined $sigs->{$key}->{$uid}) {
-               warn "uid '$uid' not found on key $key";
-               return;
+               warn "uid '$uid' not found on key $key\n";
+               return '(_)';
        }
        my $r = '(';
        foreach my $mykey (@mykeys) {
@@ -241,13 +243,16 @@ while (<TXT>) {
        if ( m/^pub  +(?:\d+)[DR]\/([0-9A-F]{8}) [0-9]{4}-[0-9]{2}-[0-9]{2} *(.*)/ ) {
                $key = $1;
                $uid = $2;
-               if ($uid) { # in gpg 1.2, the first uid is here
-                       print WRITE print_tag($key, $uid) . " $_";
-                       next;
-               }
+               #if ($uid) { # in gpg 1.2, the first uid is here
+               #       print WRITE print_tag($key, $uid) . " $_";
+               #       next;
+               #}
        }
        if ( m/^uid +(.*)$/ ) {
                $uid = $1;
+               die "key is undefined" unless defined $key;
+               die "uid is undefined, key $key" unless defined $uid;
+               die "bad tag from $key | $uid" unless defined (print_tag($key, $uid));
                print WRITE print_tag($key, $uid) . " $_";
                next;
        }