33
34
35
36#include "implicit_f.inc"
37
38
39
40#define T_FORMATED 1
41
42#define T_DIRECT_120 2
43
44
45
46#include "task_c.inc"
47
48
49
50 INTEGER, INTENT(IN) :: FD
51 INTEGER, INTENT(IN) :: LENROOTN
52 CHARACTER(LEN=LENROOTN),INTENT(IN) :: ROOTN
53 CHARACTER(LEN=10192),INTENT(OUT) :: FILN
54 INTEGER,INTENT(IN) :: ACCES_TYPE
55
56
57
58 INTEGER MY_PID,TLEN
59 CHARACTER(LEN=4096) TMPDIR
60 CHARACTER(LEN=20) :: ,CISPMD
61 CHARACTER(LEN=5) :: CFD
62
64 tlen=4096
65
66 tmpdir=''
68
69 WRITE(cpid,'(I10.10)') my_pid
70 WRITE(cispmd,'(I6.6)') ispmd
71 WRITE(cfd,'(I2.2)') fd
72#ifdef _WIN64
73 filn=tmpdir(1:tlen)//'\\'//trim(cfd)//'_'//rootn(1:lenrootn)//'_'//trim(cpid)//'_'//trim(cispmd)//'.tmp'
74#else
75 filn=tmpdir(1:tlen)//'/'//TRIM(CFD)//'_'//ROOTN(1:LENROOTN)//'_'//TRIM(CPID)//'_'//TRIM(CISPMD)//'.tmp'
76#endif
77
78 IF (ACCES_TYPE == T_FORMATED ) THEN
79
80 OPEN(UNIT=FD,FORM='formatted',FILE=TRIM(FILN))
81
82 ELSEIF (ACCES_TYPE == T_DIRECT_120 ) THEN
83
84 OPEN(UNIT=FD,FORM='formatted',ACCESS='direct',RECL=120,FILE=TRIM(FILN))
85 ENDIF
void tmpenvf(char *tmpdir, int *tmplen)