Ignore:
Timestamp:
Nov 9, 2007, 8:52:07 AM (17 years ago)
Author:
dai_9181
Message:

例外処理機構実装中…

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler_Common/src/Linker.cpp

    r357 r359  
    4444        if( schedule.GetType() == Schedule::CatchAddress )
    4545        {
    46             nativeCode.Overwrite(
    47                 schedule.GetOffset(),
    48                 static_cast<long>( nativeCode.GetLong( schedule.GetOffset() ) + schedule.GetUserProc().GetBeginOpAddress() + imageBase + codeSectionBaseOffset )
    49             );
     46            if( nativeCode.GetLong( schedule.GetOffset() ) != 0 )
     47            {
     48                // 置き換える値が0の場合を除く
     49                nativeCode.Overwrite(
     50                    schedule.GetOffset(),
     51                    static_cast<long>( nativeCode.GetLong( schedule.GetOffset() ) + schedule.GetUserProc().GetBeginOpAddress() + imageBase + codeSectionBaseOffset )
     52                );
     53            }
    5054        }
    5155    }
Note: See TracChangeset for help on using the changeset viewer.