home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c160 / 1.ddi / SOURCE / D4REF.C < prev    next >
Encoding:
C/C++ Source or Header  |  1990-11-21  |  1019 b   |  49 lines

  1.  
  2. /*  d4ref.c   (c)Copyright Sequiter Software Inc., 1987-1990.  All rights reserved.
  3.  
  4.     Returns the reference base number corresponding to the name of a previously
  5.     opened database.
  6.  
  7.     Return
  8.     >=0    Database Reference Number
  9.      -1    Database has not been opened
  10. */
  11.  
  12. #include "p4misc.h"
  13. #include "d4all.h"
  14.  
  15. #include <string.h>
  16.  
  17. extern   BASE  *v4base ;
  18. extern   int    v4last_base ;
  19.  
  20.  
  21. d4ref( char *dbf_name )
  22. {
  23.    int   base_on, len ;
  24.    char  name[90] ;
  25.  
  26.    u4name_full( name, dbf_name, ".DBF" ) ;
  27.  
  28.    len = 0 ;
  29.    while ( name[len]  !=  ' '  &&  name[len] != '\000' )  len++ ;
  30.    if (len > 63) len = 63 ;
  31.  
  32.    name[len] = '\000' ;
  33.    u4upper( name ) ;
  34.  
  35.    base_on =  v4last_base ;
  36.    while ( base_on >= 0)
  37.    {
  38.       if ( memcmp( name, v4base[base_on].name, (size_t) len) == 0)
  39.       {
  40.      if (v4base[base_on].name[len] == ' ' || v4base[base_on].name[len] == '\000')
  41.         return( base_on) ;
  42.       }
  43.       base_on =  v4base[base_on].prev ;
  44.    }
  45.  
  46.    return( -1) ;
  47. }
  48.  
  49.