;WYSEFIX.WAS v1.0 Fixes ^[!ps problem with WYSE 50/60/100 emulations. ;**************************************************************************** ;* * ;* Copyright (C) 1996 DATASTORM TECHNOLOGIES, INC. * ;* All Rights Reserved * ;* * ;**************************************************************************** ;* * ;* DATASTORM hereby grants permission to you to revise this script as * ;* necessary or desired. However, you may not distribute either this * ;* original script or the revised script to anyone else without DATASTORM's * ;* prior written permission. Also, DATASTORM cannot provide technical * ;* support for any revised script. * ;* * ;**************************************************************************** ;* * ;* WYSE 50, the ways it is implemented in 3.0, inappropriately fills * ;* unprotected fields with a random chracter when encountering the ^[!ps * ;* sequence. The sequence is normally used to set the attribute of * ;* unprotected fields. This script "eats" the ^[!ps sequence and replaces * ;* it with ^[; sequence that fills the screen with spaces. It can be * ;* easily altered to accept other sequences. * ;* * ;* SEQUENCE DEFINITIONS * ;* ^[!ps (where ps is a character representing an attribute) * ;* Controls the attribute to which unprotected fields are cleared. * ;* ^[; Clear unprotected fields to spaces. * ;* ^[: Clear unprotected fields to nulls * ;* ^[.ps (where ps is any character) * ;* Clear unprotected fields to the ps character * ;* * ;* For optimum performance, place this file in as the login script for * ;* the Connection Directory entry you wish to correct. If you are already * ;* using a logon script, place this line at the end of your logon script * ;* on a blank line immediately before "endproc": * ;* * ;* chain "wysefix.wax" * ;* * ;**************************************************************************** ;**************************************************************************** ;* * ;* MAIN * ;* * ;* This procedure waits for the target string and calls REPLACESEQ when * ;* it is encountered. This script will continue to run while online. * ;* * ;* Calls: REPLACESEQ * ;* Called by: None * ;* Modifies Globals: None * ;* Returns: None * ;* * ;**************************************************************************** proc Main integer OnlineStatus set ASPECT RXDATA OFF UNTIL WHENTARGET 0 when TARGET 0 "^[!" STRIP call ReplaceSeq while (OnlineStatus=$CARRIER) yield endwhile endproc ;**************************************************************************** ;* * ;* REPLACESEQ * ;* * ;* This procedure is called by MAIN whenever the target sequence is * ;* encountered. This procedure sends a replacement sequence to the * ;* terminal. * ;* * ;* Calls: None * ;* Called by: MAIN * ;* Modifies Globals: None * ;* Returns: None * ;* * ;**************************************************************************** proc ReplaceSeq integer ExtraChar comgetc ExtraChar termwrites "^[;" set ASPECT RXDATA OFF UNTIL WHENTARGET 0 endproc