static void DoGroupLeader( void *_seg ) /*************************************/ { offset start; seg_leader *seg = _seg; start = SEG_GROUP_DELTA( seg ); RingLookup( seg->pieces, WriteSegData, &start ); }
static bool DoCOMGroup( void *_seg, void *chop ) /**********************************************/ { seg_leader *seg = _seg; soffset newstart; newstart = *(soffset *)chop + SEG_GROUP_DELTA( seg ); RingLookup( seg->pieces, WriteSegData, &newstart ); return( false ); }
bool LoadObj( segdata *seg ) /*********************************/ { seg_leader *leader; leader = seg->u.leader; if( ( leader == NULL ) || DBISkip( leader ) ) return( false ); CurrRec.seg = seg; if( leader->group == NULL ) { CurrRec.addr = leader->seg_addr; #ifdef _DEVELOPMENT LnkMsg( WRN+MSG_INTERNAL, "s", "null leader group found" ); #endif } else { CurrRec.addr = leader->group->grp_addr; CurrRec.addr.off += SEG_GROUP_DELTA( leader ); } CurrRec.addr.off += seg->a.delta; return( true ); }