/*--------------------------------------------------------------------
 * FICHERO:  CadMueve.c
 * OBJETIVO: Definir la funcin Cad_Mueve()
 * AUTOR:    Pedro Reina
 * FECHA:    J.13.7.1995
 *------------------------------------------------------------------*/

/*--------------------------------------------------------------------
 * Ficheros de cabecera
 *------------------------------------------------------------------*/

#include "Cadena.h"

/*--------------------------------------------------------------------
 * Definicin de funciones
 *------------------------------------------------------------------*/

/*--------------------------------------------------------------Olimpo
 * FUNCION:  Cad_Mueve()
 * OBJETIVO: Mover hacia la derecha todos los caracteres de una
 *           cadena desde una posicin determinada, cuidando
 *           que la longitud no exceda un cierto mximo
 * ENTRADAS: La cadena, la posicin y el mximo
 * NOTA:     Las posiciones se cuentan a partir de cero
 * SALIDAS:  La cadena queda modificada y se devuelve
 * EJEMPLO:  Cad_Mueve (Cadena,2,40)
 *------------------------------------------------------------------*/
cadena Cad_Mueve (Cadena, Pos, Maximo)
cadena   Cadena;
contador Pos, Maximo;
  {
  contador i,Fin;

  Fin = Cad_Longitud (Cadena) - 1;

  for ( i=Fin ; i>=Pos ; i-- )
    { Cadena[i+1] = Cadena[i]; }

  Cadena[Min(Maximo,Fin+2)] = NULO;

  return (Cadena);
  }