void ChangeMemUndoable( address addr, const void *data, size_t size ) { char *p; char *end; if( AdvMachState( ACTION_MODIFY_MEMORY ) ) { ChangeMem( addr, data, size ); end = TxtBuff + TXT_LEN; p = Format( TxtBuff, "%s %A", GetCmdName( CMD_MODIFY ), addr ); for( ; size > 0 && p < end - ( 2 + 8 ); --size ) { p = StrCopy( ", ", p ); p = CnvULong( *(unsigned char *)data, p, end - p ); data = (char *)data + 1; } RecordEvent( TxtBuff ); DbgUpdate( UP_MEM_CHANGE ); CollapseMachState(); } }
void ChangeMemUndoable( address addr, const void *item, unsigned size ) { char *p; const unsigned char *it; char *end; if( AdvMachState( ACTION_MODIFY_MEMORY ) ) { ChangeMem( addr, item, size ); it = item; end = TxtBuff + TXT_LEN; p = Format( TxtBuff, "%s %A", GetCmdName( CMD_MODIFY ), addr ); for( ; size > 0; --size ) { p = StrCopy( ", ", p ); p = CnvULong( *it++, p, end - p ); } RecordEvent( TxtBuff ); DbgUpdate( UP_MEM_CHANGE ); CollapseMachState(); } }