* lib/net/imap.rb (example): use IO#noecho to read password if

possible, and defer until needed.  [ruby-dev:41889]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28798 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2010-07-30 03:42:05 +00:00
parent 2d8228c28e
commit 63a555ee4e
2 changed files with 9 additions and 6 deletions

View file

@ -3488,12 +3488,10 @@ EOF
def get_password
print "password: "
system("stty", "-echo")
begin
return gets.chop
return _noecho(&:gets).chomp
ensure
system("stty", "echo")
print "\n"
puts
end
end
@ -3546,7 +3544,9 @@ EOF
imap = Net::IMAP.new($host, :port => $port, :ssl => $ssl)
begin
imap.starttls if $starttls
password = get_password
class << password = method(:get_password)
alias to_str call
end
imap.authenticate($auth, $user, password)
while true
cmd, *args = get_command