This file is indexed.

/usr/share/ncarg/hluex/app/ap01f.f is in libncarg-data 6.3.0-6build1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C                                                                     C
C                          Copyright (C)  1995                        C
C               University Corporation for Atmospheric Research       C
C                          All Rights Reserved                        C
C                                                                     C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
C     File:         ap01f.f
C
C     Author:       Jeff W. Boote 
C                   (translated to Fortran by David Younghans)
C
C     Date:         Tue September 26, 1995
C
C     Description:  This very simple Fortran program illustrates the
C                   steps involved in creating an HLU.
C
C

      program ap01f
      implicit none
      external NhlFAppClass
      external NhlFNcgmWorkstationClass
      external NhlFCairoWindowWorkstationClass
      external NhlFPSWorkstationClass
      external NhlFPDFWorkstationClass
      external NhlFCairoPSPDFWorkstationClass
      external NhlFCairoImageWorkstationClass
      external NhlFTextItemClass

      integer appid,workid,textid
      integer rlist,ierr
      CHARACTER*7  wks_type
C
C Define the workstation type
C
      wks_type = "x11"

C
C Initialize the HLU library.
C
      call NhlFInitialize

C
C Create a ResList. The ResList is a list of the resources 
C and values being explicitly set during the "NhlFCreate" call.
C
      call NhlFRLCreate(rlist,'SETRL')

C
C Create an App object so we can have an application specific
C resource file for this example. Since the App object is the
C one that readsin the application specific resource files,
C these resources must be set prgrammatically. (They could
C be set in the $(NCARG_SYSRESFILE) or $(NCARG_USRRESFILE), but
C these thing are pretty specific to this example, so I am
C setting them programmatically.)
C
      call NhlFRLClear(rlist)
      call NhlFRLSetString(rlist,'appDefaultParent','True',ierr)
      call NhlFRLSetString(rlist,'appUsrDir','./',ierr)
      call NhlFCreate(appid,'ap01',NhlFAppClass,0,rlist,ierr)

C
C Create the Workstation to manage the output device.
C Since the appDefaultParent resource was set to True for
C 'ap01', we can use either 0 or appid as the Parent id.
C They mean the same thing.
C
      if (wks_type.eq."ncgm".or.wks_type.eq."NCGM") then
C
C Create a metafile workstation.
C
         call NhlFRLClear(rlist)
         call NhlFRLSetString(rlist,'wkMetaName','./ap01f.ncgm',ierr)
         call NhlFCreate(workid,'x',
     &        NhlFNcgmWorkstationClass,0,rlist,ierr)

      elseif (wks_type.eq."x11".or.wks_type.eq."X11") then
C
C Create an X11 workstation.
C
         call NhlFRLClear(rlist)
         call NhlFRLSetString(rlist,'wkPause','True',ierr)
         call NhlFCreate(workid,'x',
     &        NhlFCairoWindowWorkstationClass,0,rlist,ierr)

      elseif (wks_type.eq."oldps".or.wks_type.eq."OLDPS") then
C
C Create an older-style PS workstation.
C
         call NhlFRLClear(rlist)
         call NhlFRLSetString(rlist,'wkPSFileName','./ap01f.ps',ierr)
         call NhlFCreate(workid,'x',
     &        NhlFPSWorkstationClass,0,rlist,ierr)
      elseif (wks_type.eq."oldpdf".or.wks_type.eq."OLDPDF") then
C
C Create an older-style PDF workstation.
C
         call NhlFRLClear(rlist)
         call NhlFRLSetString(rlist,'wkPDFFileName','./ap01f.pdf',ierr)
         call NhlFCreate(workid,'x',
     &        NhlFPDFWorkstationClass,0,rlist,ierr)
      elseif (wks_type.eq."pdf".or.wks_type.eq."PDF".or.
     &        wks_type.eq."ps".or.wks_type.eq."PS") then
C
C Create a cairo PS or PDF workstation.
C
         call NhlFRLClear(rlist)
         call NhlFRLSetString(rlist,'wkFileName','./ap01f',ierr)
         call NhlFRLSetString(rlist,'wkFormat',wks_type,ierr)
         call NhlFCreate(workid,'x',
     &        NhlFCairoPSPDFWorkstationClass,0,rlist,ierr)
      elseif (wks_type.eq."png".or.wks_type.eq."PNG") then
C
C Create a cairo PNG workstation.
C
         call NhlFRLClear(rlist)
         call NhlFRLSetString(rlist,'wkFileName','./ap01f',ierr)
         call NhlFRLSetString(rlist,'wkFormat',wks_type,ierr)
         call NhlFCreate(workid,'x',
     &        NhlFcairoImageWorkstationClass,0,rlist,ierr)
      endif

C
C Destroy the ResList.
C Since I am not setting any more resources programmatically, I
C don't need the ResList anymore.
C
      call NhlFRLDestroy(rlist,ierr)

C
C Create a TextItem. I am not programmatically setting any of
C the TextItem resources, so the Resource Database made up from
C the resource file read-in by the 'ap01' App object is specifying
C all the attributes to the TextItem.
C
      call NhlFcreate(textid,'tx1',NhlFTextItemClass,workid,0,ierr)

C
C Call draw on the Workstation Object. This will cause all of the
C Workstation's children to Draw. In this case, this is only
C 'tx1', so draw could have been called on it just as easily.
C
      call NhlFDraw(workid,ierr)

C
C Call frame on the Workstation Object. This is functionally
C equivalent to calling NhlFUpdateWorkstation, and then
C NhlFClearWorkstation.
C
      call NhlFFrame(workid,ierr)

C
C Destroying an object also destroys its children, so by destroying
C 'ap01', all of the objects get destroyed.
C
      call NhlFDestroy(appid,ierr)

C
C Close the HLU library.
C
      call NhlFClose

      stop

      end