File: grgenv.f

package info (click to toggle)
pgplot5 5.2-13
  • links: PTS
  • area: non-free
  • in suites: potato
  • size: 6,280 kB
  • ctags: 5,903
  • sloc: fortran: 37,938; ansic: 18,809; sh: 1,147; objc: 532; makefile: 363; perl: 234; pascal: 233; tcl: 178; awk: 51; csh: 25
file content (48 lines) | stat: -rw-r--r-- 1,582 bytes parent folder | download | duplicates (15)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48

C*GRGENV -- get value of PGPLOT environment parameter (VMS)
C+
      SUBROUTINE GRGENV(NAME, VALUE, L)
      CHARACTER*(*) NAME, VALUE
      INTEGER L
C
C Return the value of a PGPLOT environment parameter. In VMS,
C environment parameters are VMS logical names; e.g. parameter
C ENVOPT is logical name PGPLOT_ENVOPT. Translation is not
C recursive and is case-sensitive.
C [For historical compatibility, if name PGPLOT_XX is not found,
C this routine will also look for PLT$XX.]
C
C Arguments:
C  NAME   : (input) the name of the parameter to evaluate.
C  VALUE  : receives the value of the parameter, truncated or extended
C           with blanks as necessary. If the parameter is undefined,
C           a blank string is returned.
C  L      : receives the number of characters in VALUE, excluding
C           trailing blanks. If the parameter is undefined, zero is
C           returned.
C--
C 19-Jan-1988
C-----------------------------------------------------------------------
      INTEGER I, LIN, IER, LIB$SYS_TRNLOG
      CHARACTER*32 TEST
C
      TEST = 'PGPLOT_'//NAME
      LIN = INDEX(TEST, ' ')-1
      IER = LIB$SYS_TRNLOG(TEST(:LIN),L,VALUE)
      IF (IER.NE.1) THEN
          TEST = 'PLT$'//NAME
          LIN = INDEX(TEST, ' ')-1
          IER = LIB$SYS_TRNLOG(TEST(:LIN),L,VALUE)
      END IF
      IF (IER.NE.1 .OR. L.LT.1 .OR. VALUE.EQ.' ') THEN
          L = 0
          VALUE = ' '
      ELSE
          DO 10 I=L,1,-1
              L = I
              IF (VALUE(I:I).NE.' ') GOTO 20
   10     CONTINUE
          L = 0
   20     CONTINUE
      END IF
      END