%title 'Aux Last Command' %sbttl 'Introduction' MODULE Aux_last( ! IDENT = '1' ) = BEGIN ! ! COPYRIGHT (c) 1983 BY ! Project Software & Development, Inc. ! ! This software is furnished under a license and may be used and copied ! only in accordance with the terms of such license and with the ! inclusion of the above copyright notice. This software or any other ! copies thereof may not be provided or otherwise made available to any ! other person. No title to and ownership of the software is hereby ! transferred. ! ! The information in this software is subject to change without notice ! and should not be construed as a commitment by PROJECT SOFTWARE ! AND DEVELOPMENT, INC. ! ! PROJECT SOFTWARE assumes no responsibility for the use or reliability ! of its software on equipment which is not supplied by PROJECT SOFTWARE. ! !++ ! FACILITY: AUXiliary Keypad DCL ! ! ABSTRACT: This module contains routines used to get the last command ! executed. ! ! ENVIRONMENT: VMS Native mode ! ! AUTHOR: M. Erik Husby, CREATION DATE: April 1983 ! ! MODIFIED BY: ! ! , : VERSION ! 01 - !-- ! ! TABLE OF CONTENTS: ! FORWARD ROUTINE aux_get_last ; ! ! ! INCLUDE FILES: ! library 'sys$library:lib'; Require 'sys$library:psdi'; Library 'Auxlib'; ! ! MACROS: ! ! ! EQUATED SYMBOLS: ! ! ! OWN STORAGE: ! ! ! EXTERNAL REFERENCES: ! external aux_l_cp : long, aux_lastcommand : ref block[,byte], aux_result : ref block[,byte], aux_result_display : ref block[,byte] ; external literal aux_nolast ; EXTERNAL ROUTINE aux_fetch_LastCommand ; ! %sbttl 'AUX_get_last' Global ROUTINE AUX_get_last = ! !++ ! FUNCTIONAL DESCRIPTION: ! This TPARSE action routine fetches the last DCL command executed. ! Replaces the value of RESULT and RESULT_DISPLAY with it. ! ! FORMAL PARAMETERS: ! ! NONE ! ! IMPLICIT INPUTS: ! ! aux_result : Address of a dynamic descriptor. ! aux_result_display : Address of a dynamic descriptor. ! ! IMPLICIT OUTPUTS: ! ! NONE ! ! ROUTINE VALUE: ! COMPLETION CODES: ! ! NONE ! ! SIDE EFFECTS: ! ! NONE ! !-- BEGIN ! ! Fetch the value if aux_fetch_LastCommand(.aux_result) then copy_dx((.aux_result_display,.aux_result)) else begin free1_dx((.aux_result_display)); free1_dx((.aux_result)); signal(aux_nolast); end; aux_l_cp = .aux_result[dsc$w_length]; return 1; END; !End of AUX_get_last END !End of module ELUDOM