Am 27.12.2011 15:33 schrieb Jakub Narebski: >> +sub prompt { >> + my ($self, $prompt) = _maybe_self(@_); >> + if (exists $ENV{'GIT_ASKPASS'}) { >> + return _prompt($ENV{'GIT_ASKPASS'}, $prompt); >> + } elsif (exists $ENV{'SSH_ASKPASS'}) { >> + return _prompt($ENV{'SSH_ASKPASS'}, $prompt); >> + } else { >> + return undef; >> + } >> +} > > ...and provide some kind of fallback even if neither of GIT_ASKPASS > nor SSH_ASKPASS are set (perhaps assuming that some Perl packages from > CPAN are installed). If neither of GIT_ASKPASS nor SSH_ASKPASS are set the caller has to handle the request. This has to be done this way, because of lots of different needs (username, password (no echo) and so on). >> +sub _prompt { >> + my ($self, $askpass, $prompt) = _maybe_self(@_); >> + my $ret; >> + open(PH, "-|", $askpass, $prompt); >> + $ret = <PH>; >> + $ret =~ s/[\012\015]//g; # strip \n\r >> + close(PH); >> + return $ret; >> +} > > Please, use modern Perl, in particula use lexical filehandles instead > of typeglobs (which are global variables), i.e. I used the same style as I found in Git.pm (see lines I removed in patch 2). -- Best regards, Sven Strickroth ClamAV, a GPL anti-virus toolkit http://www.clamav.net PGP key id F5A9D4C4 @ any key-server -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html