Index: /trunk/ab5.0/abdev/BasicCompiler32/MakePeHdr.cpp
===================================================================
--- /trunk/ab5.0/abdev/BasicCompiler32/MakePeHdr.cpp	(revision 450)
+++ /trunk/ab5.0/abdev/BasicCompiler32/MakePeHdr.cpp	(revision 451)
@@ -605,6 +605,8 @@
 		ExportNamesLength=lstrlen(lpExportNames)+1;
 
-		UserProc *pUserProc,*psi2;
-		while(1){
+		while(1)
+		{
+			UserProc *pUserProc = NULL;
+
 			//辞書順にサーチ
 			temporary[0]=0;
@@ -612,23 +614,25 @@
 			while( compiler.GetObjectModule().meta.GetUserProcs().Iterator_HasNext() )
 			{
-				pUserProc = compiler.GetObjectModule().meta.GetUserProcs().Iterator_GetNext();
-				if(pUserProc->IsExport()){
+				UserProc *pTempUserProc = compiler.GetObjectModule().meta.GetUserProcs().Iterator_GetNext();
+				if(pTempUserProc->IsExport()){
 					if(temporary[0]=='\0'){
-						lstrcpy(temporary,pUserProc->GetName().c_str());
-						psi2=pUserProc;
+						lstrcpy(temporary,pTempUserProc->GetName().c_str());
+						pUserProc = pTempUserProc;
 					}
 					else{
 						i3=lstrlen(temporary);
-						i4=(int)pUserProc->GetName().size();
+						i4=(int)pTempUserProc->GetName().size();
 						if(i3<i4) i3=i4;
-						if(memcmp(temporary,pUserProc->GetName().c_str(),i3)>0){
-							lstrcpy(temporary,pUserProc->GetName().c_str());
-							psi2=pUserProc;
+						if(memcmp(temporary,pTempUserProc->GetName().c_str(),i3)>0){
+							lstrcpy(temporary,pTempUserProc->GetName().c_str());
+							pUserProc = pTempUserProc;
 						}
 					}
 				}
 			}
-			if(psi2==0) break;
-			pUserProc=psi2;
+			if( pUserProc == NULL )
+			{
+				break;
+			}
 
 			pUserProc->ExportOff();
