home *** CD-ROM | disk | FTP | other *** search
-
- /* i4ref.c (c)Copyright Sequiter Software Inc., 1987-1990. All rights reserved.
-
- Returns the reference base number corresponding to the name of a previously
- opened index file.
-
- Return
- >=0 Index File Reference Number
- -1 Index File has not been opened
- */
-
- #include "d4all.h"
- #include "p4misc.h"
-
- #include <string.h>
-
- extern BASE *v4base ;
- extern INDEX *v4index ;
- extern int v4last_base ;
-
-
- i4ref( char *index_name )
- {
- int base_on, index_on, len ;
- char name[90] ;
-
- #ifdef CLIPPER
- u4name_full( name, index_name, ".NTX" ) ;
- #else
- u4name_full( name, index_name, ".NDX" ) ;
- #endif
-
- len = 0 ;
- while ( name[len] != ' ' && name[len] != '\000' ) len++ ;
- if (len > 63) len = 63 ;
- name[len] = '\000' ;
- u4upper( name ) ;
-
- base_on = v4last_base ;
- while ( base_on >= 0)
- {
- index_on = v4base[base_on].index_ref ;
- while ( index_on >= 0)
- {
- if ( memcmp( name, v4index[index_on].name, (size_t) len) == 0)
- {
- if (v4index[index_on].name[len] == ' ' || v4index[index_on].name[len] == '\000')
- return( index_on) ;
- }
-
- index_on = v4index[index_on].prev ;
- }
-
- base_on = v4base[base_on].prev ;
- }
-
- return( -1) ;
- }
-
-