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

  1.  
  2. #include "d4all.h"
  3.  
  4. extern X4FILTER *v4filter ;
  5. extern X4RELATE *v4relate ;
  6.  
  7.  
  8. x4relate_reset()
  9. {
  10.    int     relate_ref ;
  11.    BASE *base_ptr ;
  12.  
  13.    base_ptr =  d4ptr() ;
  14.    if ( base_ptr == (BASE *) 0 )  return -1 ;
  15.  
  16.    relate_ref =  base_ptr->relate_ref ;
  17.  
  18.    while ( relate_ref >= 0 )
  19.    {
  20.       h4free_memory( v4relate[relate_ref].compile ) ;
  21.       relate_ref =  h4free( (char **) &v4relate, relate_ref ) ;
  22.    }
  23.  
  24.    base_ptr->relate_ref =  -1 ;
  25.  
  26.    return 0 ;
  27. }
  28.  
  29. int  x4filter_pop()
  30. {
  31.    BASE *base_ptr ;
  32.  
  33.    base_ptr =  d4ptr() ;
  34.    if ( v4filter == (X4FILTER *) 0  ||  base_ptr == (BASE *) 0 )  return -1;
  35.    if ( base_ptr->filter_ref < 0 )  return -1 ;
  36.  
  37.    base_ptr->filter_ref = h4free((char **) &v4filter, base_ptr->filter_ref);
  38.  
  39.    return 0 ;
  40. }
  41.  
  42.  
  43. void  x4filter_reset()
  44. {
  45.    while ( x4filter_pop() == 0 ) ;
  46. }
  47.  
  48.