*DECK NS$END
USETEXT COM$NS
USETEXT ERR$NS
PROC NS$END(ERRCODE); # PROCESS HOP/END #
# TITLE NS$END - PROCESS HOP/END. #
BEGIN # NS$END #
#
** NS$END - PROCESS HOP/END.
*
* J.C. LEE 1981
*
* THIS ROUTINE PROCESS HOP/END.
*
* PROC NS$END(ERRCODE)
*
* ENTRY:
* NONE.
*
* EXIT:
* ERRCODE - SET IF ERROR IS FOUND.
*
* METHOD:
* IF K-DISPLAY IS ASSIGNED:
* RELEASE TSB FOR PAGE-WAIT BUFFER.
* RELEASE TSB FOR K-DISPLAY BUFFER.
* CLEAN UP DISPLAY CONTROL WORD.
* IF K-DISPLAY NOT ASSIGNED:
* SET ERROR CODE TO "ILLEGAL HOP SM".
*
#
ITEM ERRCODE U; # ERROR CODE #
$BEGIN
XREF
BEGIN
PROC NS$DBG; # TRACE PROC CALL #
END
$END
XREF
BEGIN
FUNC NS$FEC U; # FORMAT ERROR CODE #
PROC RETTSB; # RELEAE TSB #
END
CONTROL EJECT;
$BEGIN
NS$DBG("END"); # TRACE CALL #
$END
IF DCW$F$ASS[0]
THEN # K-DISPLAY ASSIGNED #
BEGIN
RETTSB(DCW$PWBTSB[0]); # RELEASE TSB FOR PAGE WAIT BUFFER #
RETTSB(DCW$KDBTSB[0]); # RELEASE TSB FOR K-DISPLAY BUFFER #
DCW$WORD[0] = 0; # CLEAN-UP DISPLAY CONTROL WORD #
END
ELSE
BEGIN
ERRCODE = NS$FEC(EC"ERR$SM", SMEC"HSM$HOPSM");
END
RETURN;
END # NS$END PROC #
TERM