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

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

#include "Lista.h"

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

/*--------------------------------------------------------------Olimpo
 * FUNCION:  Lis_Destruye()
 * OBJETIVO: Destruir una lista completa, incluyendo 
 *           los contenidos
 * ENTRADAS: Una lista
 * SALIDAS:  Ninguna
 * EJEMPLO:  Lis_Destruye (Agenda)
 *------------------------------------------------------------------*/
void Lis_Destruye (L)
lista L;
  {
  lista Anterior;

  while ( L )
    {
    Anterior = L;
    L = Lis_Siguiente (L);

    if ( Lis_Contenido (Anterior) ) 
      { Mem_Destruye (Lis_Contenido(Anterior)); }
    Mem_Destruye (Anterior);
    }
  }