static void callBackCtorFlag( // CALL-BACK FOR CTOR-FLAG AFTER CTORING void* data ) // - patch entry { CTOR_FLAG_SET* cfs = data; // - patch entry if( ctorTestReqd( FstabActualPosn(), cfs->se ) ) { FN_CTL* fctl = FnCtlTop(); unsigned mask = 1 << ( FnCtlCondFlagCtor( fctl ) & 7 ); BEPatchInteger( cfs->ph_clr, 255 - mask ); } else { BEPatchInteger( cfs->ph_clr, -1 ); } BEFiniPatch( cfs->ph_clr ); CarveFree( carve_ctor_flag, cfs ); }
static void patchMask( // PATCH A MASK patch_handle handle, // - NULL or handle uint_8 mask ) // - mask { if( NULL != handle ) { BEPatchInteger( handle, mask ); BEFiniPatch( handle ); } }
static void patchSE( // PATCH STATE ENTRY'S VALUE patch_entry* pe ) // - patch entry { STATE_VAR state_var = SeStateOptimal( pe->se ); FstabMarkedPosnSet( pe->se ); BEPatchInteger( pe->patch, state_var ); BEFiniPatch( pe->patch ); CarveFree( carve_patch_se, pe ); }
static void setTempDone( // CALL BACK: SET END OF TEMP CTORING void* data ) // - state entry { temp_entry* te = (temp_entry*)data; // FstabSetSvSe( te->start ); FstabAdd( te->se ); FstabMarkedPosnSet( te->se ); if( te->patch != NULL ) { STATE_VAR state_var = SeStateOptimal( te->se ); BEPatchInteger( te->patch, state_var ); BEFiniPatch( te->patch ); } BlkPosnTempBegSet( te->se ); CarveFree( carve_temp_entry, te ); }