C INSER8    SOURCE    CHAT      05/01/13    00:39:03     5004
      SUBROUTINE INSER8 (MLCHPO,IEME,IPCHPO,MLCHP1)
************************************************************************
*
*                             I N S E R 4
*                             -----------
*
* FONCTION:
* ---------
*
*     INSERER UN 'CHPOINT' EN I-EME POSITION (ET NON PAS APRES LA I-EME
*     POSITION) DANS LA SUITE DE TYPE 'LISTCHPO'.
*
* PARAMETRES:   (E)=ENTREE   (S)=SORTIE
* -----------
*
*     IPOINT  ENTIER    (E)  POINTEUR DE LA SUITE DE TYPE "LISTCHPO".
*     IEME    ENTIER    (E)  POSITION D'INSERTION DU "CHPOINT" DANS
*                            LA SUITE DE TYPE "LISTCHPO".
*     IPCHPO  ENTIER    (E)  POINTEUR DU "CHPOINT" A INSERER.
*     MLCHP1  ENTIER    (E)  POINTEUR DE LA SUITE DE TYPE "LISTCHPO".
*
* SOUS-PROGRAMMES APPELES:
* ------------------------
*
*     ERREUR
*
* AUTEUR, DATE DE CREATION:
* -------------------------
*
*     PASCAL MANIGOT     22 FEVRIER 1985
*
* LANGAGE:
* --------
*
*     ESOPE + FORTRAN77
*
************************************************************************
*
      IMPLICIT INTEGER(I-N)

-INC PPARAM
-INC CCOPTIO
-INC SMLCHPO
*
      SEGACT,MLCHPO
      LDIM = ICHPOI(/1)
      LDIM1 = LDIM + 1
*
*
      IF (0 .LT. IEME .AND. IEME .LE. LDIM1) THEN
        N1 = LDIM1
        SEGINI MLCHP1
        MLCHP1.ICHPOI(IEME) = IPCHPO
        IF ( IEME .GT . 1 )  THEN
           DO 100 I=1   ,(IEME-1)
             MLCHP1.ICHPOI(I) = MLCHPO.ICHPOI(I)
  100      CONTINUE
        ENDIF
        IF ( IEME .LT .LDIM1)  THEN
         DO 110 I= IEME   , LDIM
           MLCHP1.ICHPOI(I + 1 ) = MLCHPO.ICHPOI(I)
  110    CONTINUE
        ENDIF
        SEGDES,MLCHP1
      ELSE
         INTERR(1) = IEME
         NUMERR = 36
         CALL ERREUR (NUMERR)
*
      END IF
*
      SEGDES,MLCHPO
*
      END

