X-Git-Url: http://git.sthu.org/?a=blobdiff_plain;f=gpgsigs%2Fgpgsigs;h=a93676dc48d6b1edfa5f068094d36174ee90c892;hb=4219ad8c1186a68ee33caa90171ea0afeee88858;hp=5e97c2bc09b976b7c3f81356b0e2afc3ba852120;hpb=855a696b9f9c1d14bae8fb6cd305545d2583cab3;p=pgp-tools.git diff --git a/gpgsigs/gpgsigs b/gpgsigs/gpgsigs index 5e97c2b..a93676d 100644 --- a/gpgsigs/gpgsigs +++ b/gpgsigs/gpgsigs @@ -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 = ; 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 = ; 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 () { 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; }