#!/usr/bin/perl
# Script to test remote cookie handling

use strict;

use POSIX qw(:termios_h);

my ($term, $oterm, $echo, $noecho, $fd_stdin);

$fd_stdin = fileno(STDIN);

$term = POSIX::Termios->new();
$term->getattr($fd_stdin);
$oterm = $term->getlflag();

$echo = ECHO | ECHOK | ICANON;
$noecho = $oterm & ~$echo;

my ($old_vmin, $old_vtime);
$old_vmin = $term->getcc(VMIN);
$old_vtime = $term->getcc(VTIME);

$term->setlflag($noecho);             # Suppress input echo
$term->setcc(VMIN, 0);                # Minimum characters to read
$term->setcc(VTIME, 30);              # Wait in units of 0.1 seconds
$term->setattr($fd_stdin, TCSANOW);

print "VMIN,VTIME = ", $old_vmin, ",", $old_vtime, "\n";
print "VMIN,VTIME = ", $term->getcc(VMIN), ",", $term->getcc(VTIME), "\n";

print "\e{A\n";                     # HTML stream escape sequence

my $key = "";
my $key2 = "";
print "nread=", sysread(STDIN, $key, 1), "\n";
sysread(STDIN, $key2, 21);
print "--> $key2\n";

$term->setlflag($echo);
$term->setcc(VMIN, $old_vmin);
$term->setcc(VTIME, $old_vtime);
$term->setattr($fd_stdin, TCSANOW);

