diff options
Diffstat (limited to 'bin/alogin.in')
-rw-r--r-- | bin/alogin.in | 32 |
1 files changed, 11 insertions, 21 deletions
diff --git a/bin/alogin.in b/bin/alogin.in index c21b49f..a17bd2a 100644 --- a/bin/alogin.in +++ b/bin/alogin.in @@ -3,7 +3,7 @@ ## $Id$ ## ## @PACKAGE@ @VERSION@ -## Copyright (c) 1997-2007 by Terrapin Communications, Inc. +## Copyright (c) 1997-2008 by Terrapin Communications, Inc. ## All rights reserved. ## ## This code is derived from software contributed to and maintained by @@ -385,16 +385,16 @@ proc login { router user userpswd passwd prompt cmethod cyphertype } { return 1 } -re "$u_prompt" { - send "$user\r" + send -- "$user\r" set uprompt_seen 1 exp_continue } -re "$p_prompt" { sleep 1 if {$uprompt_seen == 1} { - send "$userpswd\r" + send -- "$userpswd\r" } else { - send "$passwd\r" + send -- "$passwd\r" } exp_continue } @@ -425,24 +425,14 @@ proc run_commands { prompt command } { regsub -all "\[)(]" $prompt {\\&} reprompt - # Is this a multi-command? - if [ string match "*\;*" "$command" ] { - set commands [split $command \;] - set num_commands [llength $commands] - for {set i 0} {$i < $num_commands} { incr i} { - send "[subst -nocommands [lindex $commands $i]]\r" - expect { - -re "^\[^\n\r]*$reprompt" {} - -re "^\[^\n\r ]*>>.*$reprompt" { exp_continue } - -re "\[\n\r]+" { exp_continue } - } - } - } else { - send "[subst -nocommands $command]\r" + set commands [split $command \;] + set num_commands [llength $commands] + for {set i 0} {$i < $num_commands} { incr i} { + send -- "[subst -nocommands [lindex $commands $i]]\r" expect { - -re "^\[^\n\r]*$reprompt" {} - -re "^\[^\n\r ]*>>.*$reprompt" { exp_continue } - -re "\[\n\r]+" { exp_continue } + -re "^\[^\n\r]*$reprompt" {} + -re "^\[^\n\r ]*>>.*$reprompt" { exp_continue } + -re "\[\n\r]+" { exp_continue } } } send "exit\r" |