Télécharger ooozz6.eso

Retour à la liste

Numérotation des lignes :

ooozz6
  1. C OOOZZ6 SOURCE PV090527 26/04/24 08:23:41 12524
  2. SUBROUTINE OOOZZ6 (LRET,KINCL,DMEM)
  3. C--------------------------------------------------- JAN 87 --------
  4. C GEMAT TRANSPORTABLE
  5. C TRAITEMENT DES %INC DMEM POUR LE TRADUCTEUR
  6. C
  7. C ->LRET 1 ERREUR
  8. C 2 OK
  9. C
  10. C KINCL =0 INITIALISATION DE LA INCLIB
  11. C >0 OUVRIR LE FICHIER KINCL
  12. C <0 FERMER LE FICHIER KINCL
  13. C
  14. C DMEM LE NOM DU MEMBRE A INCLURE
  15. C
  16. C PROGRAMMEUR : MOUGIN
  17. C MODIF : 30/09/86 SIMPLIFIER OOOZZ6 EN EXPLOITANT
  18. C LA LONGUEUR DE DMEM (VOIR : LECCRT)
  19. C MODIF : 22/01/87 INTRODUIRE UNE VERSION VAX SIMPLIFIEE
  20. C MODIF : 26/01/87 CORRIGER UNE CONNERIE
  21. C MODIF : 19/03/87 INTRODUIRE => NOSVE
  22. C MODIF : 18/09/87 INTRODUIRE => HP9000
  23. C MODIF : 19/10/87 OPEN ( READONLY ) SUR VAX
  24. C MODIF : 18/09/87 INTRODUIRE => CONVEX
  25. C MODIF : 06/09/89 INTRODUIRE CFT77
  26. C MODIF : 22/03/2016 WIN64 => INTRODUCTION
  27. C-----------------------------------------------------------------------
  28. C
  29. %INC IOOUNIT
  30. C%IF WIN32
  31. C Include fait pour l'interfaçage FORTRAN - C avec Microsoft Visual C
  32. C INCLUDE 'esope.fi'
  33. C%ENDIF
  34. CHARACTER*(*) DMEM
  35. CHARACTER* 80 HHHH
  36. CHARACTER* 500 ENEN
  37. EQUIVALENCE (IENEN,ENEN)
  38.  
  39. %IF VAX,APOLLO,UNIX32,CONVEX,UNIX64,WIN32,WIN64
  40. C on va successivement essayer le repertoire courant,
  41. c le repertoire include et le repertoire $ESOPE_INC
  42. LRET=2
  43. IF ( KINCL.GT.0) THEN
  44. LMEM = LEN(DMEM)
  45. HHHH = DMEM
  46. %IF VAX,UNIX32,UNIX64,WIN32,WIN64
  47. HHHH(LMEM+1:LMEM+4) = '.INC'
  48. OPEN (KINCL,ERR=1,FILE=HHHH(1:LMEM+4),STATUS='OLD')
  49. RETURN
  50. %IF WIN32,WIN64
  51. 1 OPEN (KINCL,ERR=2,FILE='.\include\'//HHHH(1:LMEM+4),
  52. * STATUS='OLD')
  53. %ELSE
  54. 1 OPEN (KINCL,ERR=2,FILE='./include/'//HHHH(1:LMEM+4),
  55. * STATUS='OLD')
  56. %ENDIF
  57. RETURN
  58. 2 CONTINUE
  59. ENEN='ESOPE_INC'//CHAR(0)
  60. lenen=500
  61. CALL OOOZEN(IENEN,LENEN)
  62. %IF WIN32,WIN64
  63. OPEN (KINCL,ERR=900,FILE=ENEN(1:LENEN)//'\'//HHHH(1:LMEM+4),
  64. * STATUS='OLD')
  65. %ELSE
  66. OPEN (KINCL,ERR=900,FILE=ENEN(1:LENEN)//'/'//HHHH(1:LMEM+4),
  67. * STATUS='OLD')
  68. %ENDIF
  69. RETURN
  70. %ENDIF
  71. %IF CONVEX
  72. HHHH(LMEM+1: ) = '.i'
  73. OPEN ( KINCL,ERR=900,FILE=HHHH,STATUS='OLD',READONLY)
  74. %ENDIF
  75. %IF APOLLO
  76. HHHH(LMEM+1: ) = '.i'
  77. OPEN ( KINCL,ERR=900,FILE=HHHH,STATUS='OLD')
  78. %ENDIF
  79. ELSEIF ( KINCL.LT.0) THEN
  80. CLOSE (-KINCL,ERR=900)
  81. ENDIF
  82. LRET=2
  83. RETURN
  84. %ENDIF
  85. %IF XXX,IBM,CRAY,CFT77,CDC,SEL,UNIVAC,FPS,PRIME,NOSVE
  86. WRITE(JLST,*) 'L''INSTRUCTION : %INC OU -INC , N''EST PAS'
  87. WRITE(JLST,*) 'COMPRISE PAR CETTE VERSION DU TRADUCTEUR ESOPE'
  88. WRITE(JLST,*) ' ( VOIR LE SOUS-PROGRAMME : OOOZZ6) '
  89. WRITE(JERR,*) 'L''INSTRUCTION : %INC OU -INC , N''EST PAS'
  90. WRITE(JERR,*) 'COMPRISE PAR CETTE VERSION DU TRADUCTEUR ESOPE'
  91. WRITE(JERR,*) ' ( VOIR LE SOUS-PROGRAMME : OOOZZ6) '
  92. %ENDIF
  93. 900 LRET=1
  94. RETURN
  95. END
  96.  
  97.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales