/*--------------------------------------------------------------------
 * FICHERO:  FchLeeL.c
 * OBJETIVO: Definir la funcin Fch_LeeLinea()
 * AUTOR:    Pedro Reina
 * FECHA:    V.14.7.1995
 *------------------------------------------------------------------*/

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

#include "Fichero.h"

/*--------------------------------------------------------------------
 * Definicin de macros constantes
 *------------------------------------------------------------------*/

#define FCH_MAXLINEA   512

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

/*--------------------------------------------------------------Olimpo
 * FUNCION:  Fch_LeeLinea()
 * OBJETIVO: Obtener la siguiente lnea de un fichero
 * ENTRADAS: El fichero
 * SALIDAS:  La cadena si no hay error, o NIL
 * NOTAS:    1. La cadena no contiene '\n'
 *           2. La cadena devuelta hay que destruirla cuando 
 *              no sea necesaria
 *           3. Las lneas de ms de 512 caracteres quedan
 *              truncadas
 * EJEMPLO:  Fch_LeeLinea ( Entrada )
 *------------------------------------------------------------------*/
cadena Fch_LeeLinea (Fichero)
fichero Fichero;
  {
  char  *Estado, Aux[FCH_MAXLINEA];
  cadena Respuesta;

  Estado = fgets ( Aux, FCH_MAXLINEA, Fch_Manejador(Fichero) );
  if ( Estado == NULO ) { Respuesta = NIL; }
  else
    {
    Cad_Cambia (Aux,'\n',NULO);
    Respuesta = Cad_Duplica (Aux);
    }

  return ( Respuesta );
  }