home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c160 / 1.ddi / SOURCE / F4PTR.C < prev    next >
Encoding:
C/C++ Source or Header  |  1990-06-22  |  618 b   |  33 lines

  1.  
  2. /* (c)Copyright Sequiter Software Inc., 1987-1990.  All rights reserved.
  3.  
  4.    f4ptr.c
  5. */
  6.  
  7. #include "d4base.h"
  8.  
  9. extern  BASE  *v4base ;
  10.  
  11. /* f4ptr  
  12.  
  13.    Returns a pointer to the corresponding field
  14. */
  15.  
  16. char * f4ptr( long field_ref)
  17. {
  18.    BASE  *base_ptr  ;
  19.    int    f_num, b_ref ;
  20.  
  21.    b_ref    =  (int) (field_ref>>16) ;
  22.    if (b_ref < 0 ) return( (char *) 0 ) ;
  23.  
  24.    base_ptr =  v4base +  b_ref ;
  25.    f_num    =  (int) (field_ref & 0xFFFF) ;
  26.  
  27.    if ( f_num >= base_ptr->num_fields  || f_num < 0)
  28.     return( (char *) 0 ) ;
  29.  
  30.    return( base_ptr->buffer + base_ptr->fields[f_num].offset ) ;
  31. }
  32.  
  33.