C CPOINT    SOURCE    CB215821  15/02/12    21:15:00     8396
      subroutine CPOINT
C Declaration des variables
      character*(8) typNom
      integer iretou
      integer iPoint
C     Variable pour la lecture des entiers
      real*8 xval
      integer ival
      character*512 cval
      logical logval
      integer iRetPo
C      logical SORTYP

-INC CCNOYAU

-INC PPARAM
-INC CCOPTIO
      SEGMENT LISTYP
           integer lisPoi(nobj)
      ENDSEGMENT
      pointeur liste.LISTYP
C     INTEXT est une variable globale (cf CCNOYAU)
C      SORTYP = .true.
      intext=1
      typNom=' '
      nobj= 5
      iObj=1
      segini liste
C lecture d'un possible premier argume
      call quetyp(typNom,0,iretou)
      do while(iretou.eq.1)
c------- on controle la validite du type demande
         iRetPo=-3
         if (typNom.eq.'LOGIQUE ') then
            call lirlog(logval,1,iretou)
         elseif (typNom.eq.'FLOTTANT') then
            call lirree(xval,1,iretou)
         elseif (typNom.eq.'ENTIER  ') then
            call lirent(ival,1,iretou)
         elseif (typNom.eq.'MOT     ') then
            call lircha(cval,1,ival)
         else
            call lirobj(typNom,iPoint,1,iretou)
            iRetPo = iPoint
         endif
         if (IERR.NE.0) then
            segsup liste
            return
         endif
         liste.lisPoi(iObj) = Iretpo
         if(iObj.eq.nobj) then
            nobj = nobj + 5
            segadj liste
         endif
         iobj = iobj + 1
         intext=1
         typNom=' '
         call quetyp(typNom,0,iretou)
      enddo
      nobj = iobj - 1
      do iobj=nobj,1,-1
         iRetPo =  liste.lisPoi(iObj)
         call ecrent(iRetPo)
      enddo
      segsup liste
      return
      end



