C*GRLGTR -- translate logical name (VMS) C+ SUBROUTINE GRLGTR (NAME) CHARACTER*(*) NAME C C This is used in the parsing of device specifications in the C VMS implementation of PGPLOT. In other implementations, it may C be replaced by a null routine. C C Argument: C NAME (input/output): initially contains the name to be C inspected. If an equivalence is found it will be replaced C with the new name. If not, the old name will be left there. C-- C (1-Feb-1983) C 10-Apr-1996: remove uppercasing; logical names may be case-sensitive. C 13-Sep-1996: new version using $TRNLNM; not recursive. C----------------------------------------------------------------------- INCLUDE '($LNMDEF)' INCLUDE '($SYSSRVNAM)' STRUCTURE /LIST/ INTEGER*2 BUF_LEN/255/ INTEGER*2 ITEM_CODE/LNM$_STRING/ INTEGER*4 TRANS_LOG INTEGER*4 TRANS_LEN INTEGER*4 END_ENTRY/0/ END STRUCTURE CHARACTER*255 EQV_BUFFER INTEGER*2 W_NAMELEN INTEGER L, GRTRIM, ISTAT RECORD /LIST/ ITEM_LIST ITEM_LIST.TRANS_LOG = %LOC(EQV_BUFFER) ITEM_LIST.TRANS_LEN = %LOC(W_NAMELEN) L = GRTRIM(NAME) ISTAT = SYS$TRNLNM(LNM$M_CASE_BLIND, : 'LNM$FILE_DEV', : NAME(1:L), : , : ITEM_LIST) IF (ISTAT) NAME = EQV_BUFFER(:W_NAMELEN) RETURN END