COSMOS v7.655  COSMOSv7655
(AirShowerMC)
cgetLoginN.f
Go to the documentation of this file.
1 ! ***************************************************
2 ! cgetLoginN: get login name ( <= 8 characters)
3 ! ***************************************************
4 ! +U77 compliler option is needed
5 ! for the HP compiler.
6 !
7 #undef GENERIC
8 
9 #if defined DECALPHA
10 #define GENERIC
11 #elif defined PCLinux
12 #define GENERIC
13 #elif defined PCLinuxIFC64
14 #define GENERIC
15 #elif defined (PCLinuxIFC) || defined (KEKA) || defined (KEKB)
16 #define GENERIC
17 #elif defined MACOSX
18 #define GENERIC
19 #elif defined CF_AlphaLinux
20 #define GENERIC
21 #endif
22 
23 
24 #if defined NEXT486
25 ! ******************** next Absoft fortran ***************
26 ! the same one as sun/hp may be usable instead of this.
27 !
28  subroutine cgetloginn(userid)
29  character*(*) userid
30  integer getlogin, intlogin
31  pointer(pu, intlogin)
32  pu=getlogin()
33  call copycstring(intlogin, userid)
34  end
35  subroutine copycstring(Cstring, target)
36  implicit none
37  integer i
38  character Cstring(*), target*(*)
39 
40  target=' '
41  do i=1, len(target)
42  if(cstring(i) == char(0) ) exit
43  target(i:i)=cstring(i)
44  enddo
45  end
46 #elif defined GENERIC
47  subroutine cgetloginn(userid)
48  implicit none
49  character*(*) userid
50  character*16 user
51  character*1 NULL
52  integer leng, kgetenv
53  null = char(0)
54  leng = kgetenv("USER"//null, user)
55  userid = user(1:leng)
56  end
57 #else
58 ! **************************** sun4/hp ***************************
59 ! !!!! for HP you need +U77 compiler option
60 !
61  subroutine cgetloginn(userid)
62 !
63  character*(*) userid
64  call getlog(userid)
65  end
66 #endif
67 #ifdef IBMAIX
68  subroutine getlog(user)
69  character user*(*)
70  call getenv('USER',user)
71  end
72 #endif
73 !
74 ! easier interface to kgetenv
75 !
76  integer function kgetenv2(envname, envresult)
77 
78  character*(*) envname ! input. environment variable name
79  character*(*) envresult ! output. value of hte env. variable.
80 
81  integer leng, kgetenv, klena
82  character*1 NULL
83  character*128 path
84  null = char(0)
85  leng = klena(envname)
86  if( leng .gt. 0 ) then
87  leng = kgetenv( envname(1:leng)//null, envresult)
88  else
89  leng = 0
90  envresult = ' '
91  endif
92  envresult=envresult(1:leng)//" "
93  kgetenv2 = leng
94  end
95  subroutine cqversion(cosv)
96  implicit none
97 #include "Zmanagerp.h"
98  character*8::cosv ! output cosmos version such 7.58; left justified
99  character*64::COSMOSTOP
100  character*128:: filen
101  integer kgetenv2, icon
102 
103  if( kgetenv2("COSMOSTOP", cosmostop) == 0 ) then
104  write(0,*) " Environmental variable "
105  write(0,*) "COSMOSTOP cannot be obtained in cqversion"
106  stop
107  endif
108  filen = trim(cosmostop)//"/Version/version"
109  call copenf(tempdev, filen, icon)
110  read(tempdev, '(a)') cosv
111  close(tempdev)
112  end
integer function kgetenv2(envname, envresult)
Definition: cgetLoginN.f:77
subroutine getlog(user)
Definition: cgetLoginN.f:69
subroutine cqversion(cosv)
Definition: cgetLoginN.f:96
subroutine copycstring(Cstring, target)
Definition: cgetLoginN.f:36
subroutine copenf(io, fnin, icon)
Definition: copenf.f:8
subroutine cgetloginn(userid)
Definition: cgetLoginN.f:29