C INSER7    SOURCE    CHAT      05/01/13    00:39:00     5004
      SUBROUTINE INSER7 (MLMOTS,IEME,LEMOT,MLMOT1)
************************************************************************
*
*                             I N S E R 3
*                             -----------
*
* FONCTION:
* ---------
*
*     INSERER UN ELEMENT EN I-EME POSITION (ET NON PAS APRES LA I-EME
*     POSITION) DANS UN OBJET DE TYPE 'LISTMOTS'.
*
* MODE D'APPEL:
* -------------
*
*     CALL INSER3 (IPOINT,IEME,LEMOT)
*
* PARAMETRES:   (E)=ENTREE   (S)=SORTIE
* -----------
*
*     MLMOTS  ENTIER    (E)  POINTEUR DE L'OBJET DE TYPE "LISTMOTS".
*     IEME    ENTIER    (E)  POSITION D'INSERTION DE L'ELEMENT DANS
*                            L'OBJET DE TYPE "LISTMOTS".
*     LEMOT   ENTIER    (E)  ELEMENT INSERE (CHAINE DE 4 CARACTERES).
*     MLMOT1  ENTIER    (E)  POINTEUR DE L'OBJET DE TYPE "LISTMOTS".
*
* SOUS-PROGRAMMES APPELES:
* ------------------------
*
*     ERREUR
*
* AUTEUR, DATE DE CREATION:
* -------------------------
*
*     PASCAL MANIGOT     6 DECEMBRE 1984
*
* LANGAGE:
* --------
*
*     ESOPE + FORTRAN77 + EXTENSION: CARACTERES MIS DANS DES ENTIERS
*
************************************************************************
*
      IMPLICIT INTEGER(I-N)

-INC PPARAM
-INC CCOPTIO
-INC SMLMOTS
      CHARACTER*(*) LEMOT
*
      SEGACT,MLMOTS
      LDIM = MOTS(/2)
      LDIM1 = LDIM + 1
*
*
*
      IF (0 .LT. IEME .AND. IEME .LE. LDIM1) THEN
        JGM=LDIM1
        JGN=MOTS(/1)
        SEGINI MLMOT1
        MLMOT1.MOTS(IEME) = LEMOT
        IF ( IEME .GT . 1 )  THEN
           DO 100 I=1   ,(IEME-1)
             MLMOT1.MOTS(I) = MLMOTS.MOTS(I)
  100      CONTINUE
        ENDIF
        IF ( IEME .LT .LDIM1)  THEN
         DO 110 I= IEME   , LDIM
           MLMOT1.MOTS(I + 1 ) = MLMOTS.MOTS(I)
  110    CONTINUE
        ENDIF
        SEGDES,MLMOT1
      ELSE
*
         INTERR(1) = IEME
         NUMERR = 36
         CALL ERREUR (NUMERR)
*
      END IF
*
      SEGDES,MLMOTS
*
      END

