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

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

#include "BaseDato.h"

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

/*--------------------------------------------------------------Olimpo
 * FUNCION:  Bdt_LongitudDeCampo()
 * OBJETIVO: Decir la longitud de un campo a partir de su nmero
 * ENTRADAS: La base de datos y el nmero de campo
 * SALIDAS:  Un nmero indicando la longitud del campo. Si el
 *           campo no existe, se devuelve 0
 * NOTA:     Los campos se numeran desde 0
 * EJEMPLO:  Bdt_LongitudDeCampo (Agenda,1)
 *------------------------------------------------------------------*/
contador Bdt_LongitudDeCampo (Base, Numero)
basedato Base;
contador Numero;
  {
  contador Respuesta;

  if ( Numero < 0 || Numero >= Bdt_TotalCampo(Base) )
    { Respuesta = 0; }

  else
    {
    Respuesta = * ( (octeto *)
                (Bdt_DescriptoresCampo(Base)+Numero*BDT_LONGDESCRIPTOR+16));
    }

  return ( Respuesta );
  }