VOID CIfrRecordInfoDB::IfrRecordInfoUpdate ( IN UINT32 RecordIdx, IN UINT32 LineNo, IN CHAR8 *BinBuf, IN UINT8 BinBufLen, IN UINT32 Offset ) { SIfrRecord *pNode; SIfrRecord *Prev; if ((pNode = GetRecordInfoFromIdx (RecordIdx)) == NULL) { return; } if (LineNo == 0) { // // Line number is not specified explicitly, try to use line number of previous opcode // Prev = GetRecordInfoFromIdx (RecordIdx - 1); if (Prev != NULL) { LineNo = Prev->mLineNo; } } pNode->mLineNo = LineNo; pNode->mOffset = Offset; pNode->mBinBufLen = BinBufLen; pNode->mIfrBinBuf = BinBuf; }
VOID CIfrRecordInfoDB::IfrRecordInfoUpdate ( IN UINT32 RecordIdx, IN UINT32 LineNo, IN CHAR8 *BinBuf, IN UINT8 BinBufLen, IN UINT32 Offset ) { SIfrRecord *pNode; if ((pNode = GetRecordInfoFromIdx (RecordIdx)) == NULL) { return; } pNode->mLineNo = LineNo; pNode->mOffset = Offset; pNode->mBinBufLen = BinBufLen; if (BinBuf != NULL) { if (pNode->mIfrBinBuf != NULL) { delete pNode->mIfrBinBuf; } pNode->mIfrBinBuf = new CHAR8[BinBufLen]; if (pNode->mIfrBinBuf != NULL) { memcpy (pNode->mIfrBinBuf, BinBuf, BinBufLen); } } }