[comp.sys.apollo] how to use GETENV in Fortran

oliveria@caen.engin.umich.edu (ROQUE DONIZETE DE OLIVEIRA) (04/29/89)

c Please skip this if you don't use Fortran.
c Can someone tell me what is wrong with this program or
c  better yet, how to use getenv in a Fortran program.
c Conditions of this run:
c             sr9.7   or sr10.1
c             bsd4.2  or bsd4.3
c             ftn (Fortran 77 Compiler), revision 9.66 
c   or        ftn (Fortran 77 Compiler), revision 10.00
c------------------------------------------------------------------
      character*80 str
      call  libpth(str)  
      end                          
c------------------------------------------------------------------
c It only works for some environmental variables.
c I was told there was a problem with the c-shell but it had been
c  fixed (it works fine for all env variables if you  write this
c  program in c language. We have 80 environmental variables)
c It doesn't work at all if you include  integer*4 junkjunk 
      subroutine libpth(str)
      character*(*) str
      character*80  ncarg
      integer*4     arg_pnt , getenv   
c      integer*4 junkjunk
   
      pointer /arg_pnt/ ncarg
                               
      arg_pnt = getenv('SYSTYPE')    {worked}
c      arg_pnt = getenv('HOME')      {didn't work}
c      arg_pnt = getenv('NCARGLIB')  {didn't work}
      print *,'arg_pnt=',arg_pnt
      print *,'ncarg='  ,ncarg 
      ncarg_len = nstr_len(ncarg)
      str = ncarg(1:ncarg_len)
      if (str(1:ncarg_len).eq.'') then
             str = '/usr/local/lib/ncarg'  
             else
      endif
      print *,'str=',str
      end     
c------------------------------------------------------------------
      integer function nstr_len(str)
      character*(*) str
      k =1 
10    continue
      if (str(k:k).eq.char(0)) go to 20
      k=k+1    
      go to 10
20    nstr_len=k-1
      return
      end      
c------------------------------------------------------------------

c    Roque
c    oliveria@caen.engin.umich.edu