#include #include #include "o.h" int struc_compare( STRUC_T *, STRUC_T * ); int struc_compare( rec_1, rec_2 ) STRUC_T *rec_1; STRUC_T *rec_2; { int result; result = strcmp(rec_1->form, rec_2->form); if ( result == 1 ) { result = LEFT; } else { if ( result == 0 ) { return( EQUAL ); } else { return( RIGHT ); } } return( LEFT ); /* ;* */ } STRUC_T *struc_insert( form ) char *form; { STRUC_T *struc_rec; NODE_T *struc_node; char *form_copy; int length; struc_rec = (STRUC_T *)o_malloc( sizeof(STRUC_T) ); length = strlen(form) + 1; form_copy = (char *)o_malloc( length ); strcpy( form_copy, form ); struc_rec->form = form_copy; struc_rec->index = 0; /* Not determined yet */ struc_node = insert( (char *)struc_rec, struc_tree, TC struc_compare ); return( (STRUC_T *)struc_node->data ); }