Changeset 451 in dev for trunk/ab5.0/abdev/BasicCompiler32


Ignore:
Timestamp:
Mar 22, 2008, 9:28:59 PM (17 years ago)
Author:
dai_9181
Message:

DLLコンパイルに失敗してしまうバグを修正。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ab5.0/abdev/BasicCompiler32/MakePeHdr.cpp

    r435 r451  
    605605        ExportNamesLength=lstrlen(lpExportNames)+1;
    606606
    607         UserProc *pUserProc,*psi2;
    608         while(1){
     607        while(1)
     608        {
     609            UserProc *pUserProc = NULL;
     610
    609611            //辞書順にサーチ
    610612            temporary[0]=0;
     
    612614            while( compiler.GetObjectModule().meta.GetUserProcs().Iterator_HasNext() )
    613615            {
    614                 pUserProc = compiler.GetObjectModule().meta.GetUserProcs().Iterator_GetNext();
    615                 if(pUserProc->IsExport()){
     616                UserProc *pTempUserProc = compiler.GetObjectModule().meta.GetUserProcs().Iterator_GetNext();
     617                if(pTempUserProc->IsExport()){
    616618                    if(temporary[0]=='\0'){
    617                         lstrcpy(temporary,pUserProc->GetName().c_str());
    618                         psi2=pUserProc;
     619                        lstrcpy(temporary,pTempUserProc->GetName().c_str());
     620                        pUserProc = pTempUserProc;
    619621                    }
    620622                    else{
    621623                        i3=lstrlen(temporary);
    622                         i4=(int)pUserProc->GetName().size();
     624                        i4=(int)pTempUserProc->GetName().size();
    623625                        if(i3<i4) i3=i4;
    624                         if(memcmp(temporary,pUserProc->GetName().c_str(),i3)>0){
    625                             lstrcpy(temporary,pUserProc->GetName().c_str());
    626                             psi2=pUserProc;
     626                        if(memcmp(temporary,pTempUserProc->GetName().c_str(),i3)>0){
     627                            lstrcpy(temporary,pTempUserProc->GetName().c_str());
     628                            pUserProc = pTempUserProc;
    627629                        }
    628630                    }
    629631                }
    630632            }
    631             if(psi2==0) break;
    632             pUserProc=psi2;
     633            if( pUserProc == NULL )
     634            {
     635                break;
     636            }
    633637
    634638            pUserProc->ExportOff();
Note: See TracChangeset for help on using the changeset viewer.