Warning: Cannot modify header information - headers already sent by (output started at /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code:102) in /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code on line 4
Warning: Cannot modify header information - headers already sent by (output started at /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code:102) in /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code on line 4
Warning: Cannot modify header information - headers already sent by (output started at /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code:102) in /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code on line 4
Warning: Cannot modify header information - headers already sent by (output started at /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code:102) in /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code on line 4
Warning: Cannot modify header information - headers already sent by (output started at /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code:102) in /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code on line 4
Warning: Cannot modify header information - headers already sent by (output started at /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code:102) in /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code on line 4
#!/bin/sh
usage()
{
echo >&2 "Usage: $(basename $0) [-v] [--tty=] G0|G1 [cp437|iso01|vt100|user|]"
}
usage_exit()
{
usage
exit 1
}
tty_out()
{
/bin/echo -en >&3 $*
}
verbose()
{
test $VERBOSE = 1 && echo >&2 $*
}
error()
{
echo >&2 $*
}
activate_charset()
{
verbose "Switching to $1 charset"
case $1 in
G0)
tty_out "\017"
;;
G1)
tty_out "\016"
;;
esac
}
# parse command-line
CHARSET=
ACM=
INTERNAL_ACM=
ACM_NAME=
TTY=/dev/tty
VERBOSE=0
GOT_CHARSET=0
GOT_ACM=0
while [ $# -gt 0 ]
do
case $1 in
-v)
VERBOSE=1
shift
;;
--tty)
TTY=$2
shift
shift
;;
--tty=*)
TTY=${1#--tty=}
shift
;;
G0|G1)
test ${GOT_CHARSET} = 1 && usage_exit
CHARSET=$1
GOT_CHARSET=1
shift
;;
iso01)
test ${GOT_ACM} = 1 && usage_exit
INTERNAL_ACM=B
ACM_NAME=$1
GOT_ACM=1
shift
;;
vt100)
test ${GOT_ACM} = 1 && usage_exit
INTERNAL_ACM=0
ACM_NAME=$1
GOT_ACM=1
shift
;;
cp437)
test ${GOT_ACM} = 1 && usage_exit
INTERNAL_ACM=U
ACM_NAME=$1
GOT_ACM=1
shift
;;
user)
test ${GOT_ACM} = 1 && usage_exit
INTERNAL_ACM=K
ACM_NAME="user-defined"
GOT_ACM=1
shift
;;
*)
test ${GOT_ACM} = 1 && usage_exit
INTERNAL_ACM=K
ACM_NAME="user-defined"
ACM=$1
GOT_ACM=1
shift
;;
esac
done
# open requested tty
test -c "$TTY" && exec 3<>$TTY
# if specified ACM is not available internally, get it from file
if [ "$ACM" != "" ]
then
case $CHARSET in
G0)
OPT=
;;
G1)
OPT=--g1
;;
esac
verbose -n "Loading $ACM ACM into user-defined slot..."
consolechars $OPT --tty=${TTY} -m $ACM && verbose "done."
fi
if [ "$INTERNAL_ACM" -a "$CHARSET" ]
then # make $CHARSET point to $INTERNAL_ACM
if [ "$TTY" ]
then
ONTTY=" on $TTY"
else
ONTTY=""
fi
if [ "$ACM" ]
then
verbose "Making ${CHARSET}${ONTTY} point to $ACM_NAME ACM (file $ACM)"
else
verbose "Making ${CHARSET}${ONTTY} point to internal ACM $ACM_NAME"
fi
case $CHARSET in
G0)
tty_out "\033($INTERNAL_ACM"
;;
G1)
tty_out "\033)$INTERNAL_ACM"
;;
esac
activate_charset $CHARSET
elif [ "$CHARSET" -a -z "$INTERNAL_ACM" ]
then # make $CHARSET current
activate_charset $CHARSET
elif [ "$INTERNAL_ACM" -a -z "$CHARSET" ]
then # set current charset to $ACM
error "Don't know (yet ?) how to determine current charset."
error "Please specify G0 or G1"
exit 1
else
usage
fi