C LINOTI    SOURCE    JC220346  18/12/14    21:15:09     10039          
C LINOTI    SOURCE    PV        14/04/14    21:15:01     8035
      SUBROUTINE LINOTI(curFic,curLig,pNoti)

-INC PPARAM
-INC CCOPTIO
-INC CCNOYAU
         CHARACTER*500 cline
         DATA iLonEn /100000/
         CHARACTER*100000 cChar
         integer IRET
         integer mChap,mPart
         integer iostat
         integer iEnre,jEnre,kEnre,nindex
         integer tmplong
         integer nLig,iLig
         integer curFic,curLig,curEnr
         integer curCha,curCh2
         LOGICAL bEcri
         segment,noti
             character*(LONOM) nomOpe
             character*500     blig(nlig)
         endsegment
         SEGMENT UTIFIC
             integer debCha(nlig+1)
         ENDSEGMENT
         pointeur utif3.utific
         utif3=0
  102 FORMAT(A500)
  103 FORMAT(A100000)
         POINTEUR pNoti.NOTI
         IRET=0
         nLig=1000
         mChap=0
         mPart=0
         iLig=1
         segini pNoti
         utif3=utifi3(curFic-30)
         IF(utif3.LE.0) return
         segact utif3
         IF(curLig.GE.utif3.debCha(/1)) then
           segdes utif3
           return
         endif
         curCha = mod(utif3.debCha(curLig),iLonEn)+1
         curCh2 = mod(utif3.debCha(curLig+1),iLonEn)
         curEnr = utif3.debCha(curLig)/iLonEn+1
         bEcri=.true.
         READ(curFic,REC=curEnr,FMT=103,IOSTAT=IOSTAT) cCHAR
         if (iostat.gt.0) then
           WRITE(cline,FMT=203)' '
           goto 20
         endif
42       WRITE(cline,FMT=203)' '
         if(curCha.LE.curCh2) then
            tmplong=curCh2-curCha+1
            cline(1:tmplong) = cChar(curCha:curCh2)
         else
            tmplong=(iLonEn-curCha) + 1
            cline(1:tmpLong)=cCHAR(curCha:iLonEn)
c          write(6,*) 'Premiere partie',curEnr,1,tmpLong,curCha,iLonEn,
c     &     cline(1:tmpLong)
            curEnr=curEnr+1
            READ(curFic,REC=curEnr,FMT=103,IOSTAT=IOSTAT)cCHAR
            if (iostat.eq.0) then
               cline(1+tmpLong:curCh2-curCha+1+iLonEn) = cChar(1:curCh2)
               tmplong=curCh2-curCha+1+iLonEn
            endif
c          write(6,*) 'Deuxieme partie',curEnr,1+tmpLong,1,curCh2,
c     &     curCh2-curCha+1+iLonEn,
c     &     cline(1+tmpLong:curCh2-curCha+1+iLonEn)
         endif

20       IF (iostat.le.0.AND.cline(1:4).NE.'$$$$') THEN

            IF(cline(5:8).EQ.'====') THEN
               IF(cline(1:4).EQ.LANGUE.OR.cline(1:4).EQ.'====')THEN
                  bEcri=.true.
               ELSE
                  bEcri=.false.
               ENDIF
            ELSE
               if(bEcri) THEN
                  pNoti.blig(ilig)=cline
                  ilig=ilig+1
                  if(ilig.eq.pnoti.blig(/2)) then
                     nLig=nLig+1000
                     segadj pNoti
                  endif
               ENDIF
            ENDIF
            curLig=curLig+1
            if(curlig.lt.utif3.debCha(/1)) then
            curCha = mod(utif3.debCha(curLig),iLonEn)+1
            curCh2 = mod(utif3.debCha(curLig+1),iLonEn)
            IF(curEnr.NE.utif3.debCha(curLig)/iLonEn+1) THEN
               curEnr = utif3.debCha(curLig)/iLonEn+1
               READ(curFic,REC=curEnr,FMT=103,IOSTAT=IOSTAT)cCHAR
            ENDIF
            IF(IOSTAT.LE.0) THEN 
               goto 42
            ENDIF
          endif
         endif
         nlig=iLig-1
         segadj pNoti
         segdes utif3
         return
  203 FORMAT(A)
      END
 
 
 
 
