home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / OBJASM.ZIP / OUSEGEXT.C < prev    next >
C/C++ Source or Header  |  1990-09-27  |  1KB  |  46 lines

  1. #include <stdio.h>
  2. #include <string.h>
  3. #include "o.h"
  4.  
  5. int sex_compare( SEX_T *, SEX_T * );
  6.  
  7. int sex_compare( rec_1, rec_2 )
  8.     SEX_T   *rec_1;
  9.     SEX_T   *rec_2;
  10. {
  11.     int     result;
  12.  
  13.     if ( rec_1->seg_index > rec_2->seg_index ) {
  14.         return( LEFT );
  15.     } else {
  16.         if ( rec_1->seg_index < rec_2->seg_index ) {
  17.             return( RIGHT );
  18.         } else {
  19.             result = strcmp( rec_1->ext_rec->name, rec_2->ext_rec->name );
  20.             if ( result < 0 ) {
  21.                 return( LEFT );
  22.             } else {
  23.                 if ( result > 0 ) {
  24.                     return( RIGHT );
  25.                 } else {
  26.                     return( EQUAL );
  27.                 }
  28.             }
  29.         }
  30.     }
  31. }
  32.  
  33. void sex_insert( seg_index, ext_rec)
  34.     int     seg_index;
  35.     EXT_T   *ext_rec;
  36. {
  37.     SEX_T   *sex_rec;
  38.  
  39.     sex_rec = (SEX_T *)o_malloc( sizeof(SEX_T) );
  40.     sex_rec->seg_index   = seg_index;
  41.     sex_rec->ext_rec     = ext_rec;
  42.  
  43.     insert( (char *)sex_rec, sex_tree, sex_compare );
  44.  
  45. }
  46.