Trailing-Edge
-
PDP-10 Archives
-
tops20tools_v6_9-jan-86_dumper
-
tools/locate/locate.lis
There are 5 other files named locate.lis in the archive. Click here to see a list.
22-Nov-1983 20:26:11 VAX-11 FORTRAN V3.3-45 Page 1
18-Mar-1983 11:22:45 SYS$SYSDEVICE:[PETERSS.LOCATE]LOCATE.FOR;1
0001 PROGRAM locate
0002 C
0003 C Change or display information regarding a user's default printer.
0004 C
0005 C Created: 28-July-82 QCJ
0006 C Last Modified: 25-Jan-83 QCJ
0007 C
0008 INCLUDE 'locdef.inc/list'
%FORT-W-INVSTALAB, Invalid statement label ignored
in module LOCATE at line 9
0009 1 y
0010 1 C LOCDEF.INC Include file.
0011 1 C
%FORT-F-INVLEFSID, Left side of assignment must be variable or array element
in module LOCATE at line 9
0012 1 PARAMETER loc_max=4 !number of locations defined
0013 1 PARAMETER token_max=5 !number of valid tokens that may be
0014 1 ! used to specify this location.
0015 1 PARAMETER text_line_max=5 !number of text lines to describe loc.
0016 1
0017 1 IMPLICIT INTEGER*4 (a-z)
0018 1 CHARACTER*15 queue(0:loc_max-1)
0019 1 CHARACTER*32 place(0:loc_max-1)
0020 1 CHARACTER*8 tokens(0:loc_max-1,token_max)
0021 1 CHARACTER*80 text(0:loc_max-1,text_line_max)
0022 1 INTEGER*2 n_tokens(0:loc_max-1)
0023 1 INTEGER*2 n_text_lines(0:loc_max-1)
0024 1 C
0025 1 C Data base.
0026 1 C
0027 1 PARAMETER lpd0=0
0028 1 PARAMETER lpd0_S='0'
0029 1 DATA queue(lpd0) /'LPD0:'/
0030 1 DATA place(lpd0) /'425 CB (Computer Room)'/
0031 1 DATA n_tokens(lpd0) /5/
0032 1 DATA (tokens(lpd0,i),i=1,5) /lpd0_s,'LPD0','LPD0:','B1000','FAST'/
0033 1 DATA n_text_lines(lpd0) /2/
0034 1 DATA (text(lpd0,i),i=1,2)
0035 1 1/'Data Products B1000 "Charaband" impact printer, 1000 lpm,'
0036 1 1,'upper/lower case, no special forms.'/
0037 1
0038 1 PARAMETER lpa0=1
0039 1 PARAMETER lpa0_S='1'
0040 1 DATA queue(lpa0) /'LPA0:'/
0041 1 DATA place(lpa0) /'425 CB (Computer Room)'/
0042 1 DATA n_tokens(lpa0) /5/
0043 1 DATA (tokens(lpa0,i),i=1,5) /lpa0_s,'LPA0','LPA0:','425','CB'/
0044 1 DATA n_text_lines(lpa0) /2/
0045 1 DATA (text(lpa0,i),i=1,2)
0046 1 1/'Printronix P600 dot-matrix printer, 600 lines per minute,'
0047 1 2,'upper/lower case, plotting, no special forms.'/
0048 1
0049 1 PARAMETER lpb0=2
0050 1 PARAMETER lpb0_S='2'
0051 1 DATA queue(lpb0) /'LPB0:'/
LOCATE 22-Nov-1983 20:26:11 VAX-11 FORTRAN V3.3-45 Page 2
18-Mar-1983 11:22:45 SYS$SYSDEVICE:[PETERSS.LOCATE]LOCATE.FOR;1
0052 1 DATA place(lpb0) /'240 ESC'/
0053 1 DATA n_tokens(lpb0) /5/
0054 1 DATA (tokens(lpb0,i),i=1,5) /lpb0_s,'LPB0','LPB0:','240','ESC'/
0055 1 DATA n_text_lines(lpb0) /2/
0056 1 DATA (text(lpb0,i),i=1,2)
0057 1 1/'Printronix P600 dot-matrix printer, 600 lines per minute,'
0058 1 2,'upper/lower case, plotting, no special forms.'/
0059 1
0060 1 PARAMETER lpc0=3
0061 1 PARAMETER lpc0_S='3'
0062 1 DATA queue(lpc0) /'LPC0:'/
0063 1 DATA place(lpc0) /'861 SWKT'/
0064 1 DATA n_tokens(lpc0) /5/
0065 1 DATA (tokens(lpc0,i),i=1,5) /lpc0_s,'LPC0','LPC0:','861','SWKT'/
0066 1 DATA n_text_lines(lpc0) /2/
0067 1 DATA (text(lpc0,i),i=1,2)
0068 1 1/'Printronix P300 dot-matrix printer, 300 lines per minute,'
0069 1 2,'upper/lower case, plotting, no special forms.'/
0070 1
0071 1 COMMON /loc/ queue
0072 1 1 ,place
0073 1 1 ,tokens
0074 1 2 ,text
0075 1 3 ,n_tokens
0076 1 4 ,n_text_lines
0077 1 C
0078 1 C END of LOCDEF.INC.
0079 1 C
0080
0081 CHARACTER*80 arg,device
0082 C
0083 C Get the argument the user passed.
0084 C
0085 istat=CLI$GET_VALUE('ARG',arg)
0086 C IF(.NOT.istat)CALL LIB$STOP(%VAL(istat))
0087 f_fast=CLI$PRESENT('BRIEF')
0088 f_log=CLI$PRESENT('LOG')
0089 C
0090 C Determine action.
0091 C
0092 IF(arg.EQ.' ')THEN
0093 istat=SYS$TRNLOG('SYS$PRINT',device_l,device,,,)
0094 IF(.NOT.istat)CALL LIB$STOP(%VAL(istat))
0095 IF(f_log)THEN
0096 TYPE*,'Your default printer location is currently:'
0097 TYPE*
0098 ENDIF
0099 loc=find_loc(device(1:device_l))
0100 IF(loc.NE.-1)THEN
0101 CALL show_loc(loc,f_fast)
0102 ELSE
0103 IF(f_log)THEN
0104 TYPE*
0105 TYPE*,' '//device
0106 TYPE*
0107 TYPE*,'Which is not a valid location'
0108 ELSE
LOCATE 22-Nov-1983 20:26:11 VAX-11 FORTRAN V3.3-45 Page 3
18-Mar-1983 11:22:45 SYS$SYSDEVICE:[PETERSS.LOCATE]LOCATE.FOR;1
0109 TYPE*,'Current location invalid '//device
0110 ENDIF
0111 ENDIF
0112 IF(f_log)THEN
0113 TYPE*
0114 TYPE*,'Valid locations are:'
0115 TYPE*
0116 DO loc=0,loc_max-1
0117 CALL show_loc(loc,f_fast)
0118 ENDDO
0119 ENDIF
0120 ELSE
0121 loc=find_loc(arg)
0122 IF(loc.NE.-1)THEN
0123 IF(f_log)THEN
0124 TYPE*,'Your default printer is now:'
0125 TYPE*
0126 CALL show_loc(loc,f_fast)
0127 ENDIF
0128 istat=LIB$SET_LOGICAL
0129 1 ('SYS$PRINT',queue(loc)(1:QCJ_TRIM(queue(loc))))
0130 ELSE
0131 IF(f_log)THEN
0132 TYPE*
0133 TYPE*,' '//arg(1:QCJ_TRIM(arg))//' is not a valid location'
0134 TYPE*
0135 TYPE*,'Valid locations are:'
0136 TYPE*
0137 DO loc=0,loc_max-1
0138 CALL show_loc(loc,f_fast)
0139 ENDDO
0140 ELSE
0141 TYPE*,arg(1:QCJ_TRIM(arg))//' is not valid'
0142 ENDIF
0143 ENDIF
0144 ENDIF
0145
0146 END
22-Nov-1983 20:26:11 VAX-11 FORTRAN V3.3-45 Page 4
18-Mar-1983 11:22:45 SYS$SYSDEVICE:[PETERSS.LOCATE]LOCATE.FOR;1
0001
0002 INTEGER*4 FUNCTION show
0003
0004 INCLUDE 'locdef.inc'
0076
0077 CHARACTER*(*) token
0078
0079 ENTRY find_loc(token)
0080
0081 l=0
0082 found=.FALSE.
0083 DO WHILE (l.LE.loc_max-1.AND..NOT.found)
0084 tok=1
0085 DO WHILE (tok.LE.n_tokens(l).AND..NOT.found)
0086 found=token.EQ.tokens(l,tok)
0087 tok=tok+1
0088 ENDDO
0089 l=l+1
0090 ENDDO
0091 IF(.NOT.found)THEN
0092 find_loc=-1
0093 ELSE
0094 find_loc=l-1
0095 ENDIF
0096
0097 RETURN
0098
0099 ENTRY show_loc(loc,f_fast)
0100 TYPE00102
0101 1 ,loc
0102 2 ,queue(loc)(1:QCJ_TRIM(queue(loc)))
0103 3 ,place(loc)(1:QCJ_TRIM(place(loc)))
0104 00102 FORMAT(
0105 2 X' Location 'I2' -- Line Printer 'A' -- 'A
0106 5 )
0107 IF(.NOT.f_fast)THEN
0108 TYPE00101
0109 2 ,(text(loc,line)
0110 3 (1:QCJ_TRIM(text(loc,line))),line=1,n_text_lines(loc))
0111 00101 FORMAT(
0112 4 <n_text_lines(loc)>(/X,8X,A)
0113 1 ,/
0114 5 )
0115 ENDIF
0116
0117 RETURN
0118
0119 END
SHOW 22-Nov-1983 20:26:11 VAX-11 FORTRAN V3.3-45 Page 5
18-Mar-1983 11:22:45 SYS$SYSDEVICE:[PETERSS.LOCATE]LOCATE.FOR;1
COMMAND QUALIFIERS
FORTRAN /LIST LOCATE
/CHECK=(NOBOUNDS,OVERFLOW,NOUNDERFLOW)
/DEBUG=(NOSYMBOLS,TRACEBACK)
/STANDARD=(NOSYNTAX,NOSOURCE_FORM)
/SHOW=(NOPREPROCESSOR,NOINCLUDE,MAP)
/F77 /NOG_FLOATING /I4 /OPTIMIZE /WARNINGS /NOD_LINES /NOCROSS_REFERENCE /NOMACHINE_CODE /CONTINUATIONS=19
COMPILATION STATISTICS
Run Time: 2.31 seconds
Elapsed Time: 17.85 seconds
Page Faults: 163
Dynamic Memory: 142 pages