File: grgenv.f

package info (click to toggle)
pgplot5 5.2.2-19.8
  • links: PTS, VCS
  • area: non-free
  • in suites: forky, sid
  • size: 7,192 kB
  • sloc: fortran: 39,795; ansic: 22,554; objc: 1,534; sh: 1,298; makefile: 269; pascal: 233; perl: 209; tcl: 190; awk: 51; csh: 25
file content (64 lines) | stat: -rw-r--r-- 1,755 bytes parent folder | download | duplicates (16)
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
C*********
c     INTERFACE TO CHARACTER FUNCTION GETENV [C]
c    +   (CBUF[REFERENCE])
C---
C Allow MS-Fortran to call the GETENV function built into the
C Fortran 5.0 library.
C---
c     CHARACTER*1 CBUF
c     END
C*********
C*GRGENV -- get value of PGPLOT environment parameter (MS-DOS)
C+
      SUBROUTINE GRGENV(CNAME, CVALUE, LVALUE)
      CHARACTER CNAME*(*), CVALUE*(*)
      INTEGER   LVALUE
      INTEGER*2 NONBLK
C
C Return the value of a PGPLOT environment parameter.
C
C Arguments:
C CNAME   : (input) the name of the parameter to evaluate.
C CVALUE  : 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 LVALUE  : receives the number of characters in CVALUE, excluding
C           trailing blanks. If the parameter is undefined, zero is
C           returned.
C--
C 1990-Mar-19 - [AFT]
C 1995-Mar-21   [mlm]
C     MODIFIED MARCH 1995 TO INTERFACE WITH SALFORD SOFTWARE FTN77
C
C
C-----------------------------------------------------------------------
      CHARACTER GETENV*64
C
      CHARACTER CTMP*64
      INTEGER   I, LTMP
C
C     ENVIRONMENT PREFIX CHANGED TO 'PG'  (mlm)
C
      CTMP = 'PG'//CNAME
      LTMP = INDEX(CTMP,' ')
      IF(LTMP.NE.0) THEN
          LTMP=LTMP-1
          ELSE
          LTMP=LEN(CTMP)
      ENDIF
C
C     GET ENVIRONMENT USING SALFORD ROUTINE
C
      CALL DOSPARAM@(CTMP(1:LTMP),CVALUE)
C
C     CHECK IF STRING IS EMPTY; IN CASE, RETURN L = 0
C     SALFORD ROUTINE NONBLK RETURNS POSITION OF FIRST NONBLANK CHARACTER
C     IN THE STRING, 0 IF ALL BLANK
C
      IF (NONBLK(CVALUE) .EQ. 0) THEN
         LVALUE = 0
         ELSE
      LVALUE = LEN(CVALUE)
      ENDIF
      RETURN
      END