/*
**  $VER: Logoff 4.012 (14 Jan 1999) **
**
**        © 1996/98 Gerald Froehlich
**
**  PROGRAMNAME:
**      Logoff
**
**  FUNCTION:
**      Skript zum Beenden von Multiterm und Ausloggen
**
**
**  $HISTORY:
**
**  14 Jan 1999 : 004.012 :  split 0 entfernt
**  29 Nov 1998 : 004.011 :  unverändert
**  29 Jun 1998 : 003.710 :  unverändert
**  22 Jun 1998 : 003.601 :  Ausgang aus ER verändert
**  09 Jan 1998 : 003.543 :  Clips umbenannt
**  14 Dec 1997 : 003.542 :  .rexx weg
**  26 Nov 1997 : 003.541 :  Strukturänderung II
**  11 Apr 1997 : 003.500 :  ADDRESS REXX eingefügt
**  10 Apr 1997 : 003.104 :  else-Fehler gefixt
**  10 Apr 1997 : 003.103 :  Fehler-Routinen eingebaut
**  10 Apr 1997 : 003.102 :  NachLogOUT.rexx eingebaut
**  14 Jan 1997 : 003.101 :  identisch
*/



MT_Port = GetClip("MT_Port")

OPTIONS RESULTS
SIGNAL on error
SIGNAL ON break_c
SIGNAL ON break_d
SIGNAL ON break_e
SIGNAL ON break_f
SIGNAL ON failure
SIGNAL ON halt
SIGNAL ON ioerr
SIGNAL ON syntax


IF ~show("P",MT_Port) THEN DO
    exit 0
END
address value MT_Port

/*"logout"*/

/*für Probs mit Squirrel --- ANFANG */

SIGNAL off error
checkER
IF rc = 0 THEN DO
 send 9
 CALL cuwait
END

SIGNAL on error

sendini
send "9"
sendter
a = delay(300)

/*-- ENDE --*/


"exit"

/* falls noch ein Logfile-Prog o.ä. über Arexx  gesteuert werden muss */
IF Exists('HB:skript/NachLOGOUT.rexx') THEN
  ADDRESS REXX 'HB:skript/NachLOGOUT.rexx'

EXIT

/********* Auf Cursor warten **********/
cuwait:

SIGNAL off error
a = delay(30)
checkcuron
DO WHILE rc ~= 0
 a = delay(30)
 checkcuron
END
SIGNAL on error
RETURN


/*###################################
*** Debugging-Fehlerroutinen *******
###################################*/
syntax:
text =  'Syntax-Fehler' rc 'in Zeile' sigl '0A'x ErrorText(rc),
    '0A'x || SourceLine(sigl)
   CALL rtezrequest(text,"Alles klar!", "Btx-LogOff",'rt_pubscrname='screen)
  ADDRESS "HB" FEHLER_END
  EXIT

failure:
ioerr:
ERROR:
text =  'Fehler' rc 'in Zeile' sigl '0A'x ErrorText(rc),
    '0A'x || SourceLine(sigl)
   CALL rtezrequest(text,"Alles klar!", "Btx-LogOff",'rt_pubscrname='screen)
  EXIT
halT:
break_c:
break_d:
break_e:
break_f:
text =  'User-Abbruch durch Halt!' || '0A'x || 'Wirklich abbrechen ?'
 ab = rtezrequest(text,"_Mach Schluss|_Neeiiin", "Btx-LogOff",'rt_pubscrname='screen)
 IF ab = 1 THEN DO
   EXIT
 END
 ELSE RETURN
