#!/usr/bin/env expect
# htelnet -- telnet to a host that wants ^H for Backspace

# Let `telnet` understand ^H at its own telnet> prompt
set stty_init "erase ^H"

spawn -noecho /usr/bin/telnet {*}$argv

interact {
	# Translate Backspace to ^H
	"\177" { send "\010" }

	# Exit on Ctrl-] Ctrl-]
	"\035\035" { send_user "\033\[1m<Disconnecting>\033\[m\n"; exit }
	"\035q"	   { send_user "\033\[1m<Disconnecting>\033\[m\n"; exit }

	# Send Break on Ctrl-] Ctrl-B
	"\035\002" { send "\035"; expect "telnet>"; send "send brk\n" }
	"\035b"    { send "\035"; expect "telnet>"; send "send brk\n" }

	# Use Ctrl-Backslash to escape itself and Ctrl-]
	"\034\034" { send "\034" }
	"\034\035" { send "\035" }
}
