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

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

#include "Lista.h"

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

/*--------------------------------------------------------------Olimpo
 * FUNCION:  Lis_AgregaFin()
 * OBJETIVO: Aadir un elemento a una lista por el final
 * ENTRADAS: La lista y el contenido del nuevo elemento
 * SALIDAS:  La lista original
 * EJEMPLO:  Lis_AgregaFin (Agenda,Nombre)
 * NOTAS:    1. El elemento agregado se coloca el ltimo de 
 *              la lista
 *           2. Si no hay memoria suficiente, no se agrega
 *------------------------------------------------------------------*/
lista Lis_AgregaFin (L,C)
lista   L;
memoria C;
  {
  lista Nuevo, Nodo;

  if ( Nuevo = Lis_Crea() )
    {
    Lis_PonContenido (Nuevo,C);

    Nodo = L;
    while ( Lis_Siguiente(Nodo) ) { Nodo = Lis_Siguiente (Nodo); }

    Lis_PonSiguiente (Nodo,Nuevo);
    }

  return ( L );
  }