commit 2025-08-25 15:51 refine codes about readdir_r() and readdir() in ZCppMain/ZMainHead.H

This commit is contained in:
2025-08-25 15:51:05 +09:00
parent 09245f44ed
commit 37c7b4ae74
2 changed files with 78 additions and 30 deletions

View File

@ -4368,9 +4368,10 @@ namespace ZNsMain
::chdir(".."); ::closedir(VH_File);
if(VB_RemoveFail==true) return false;
if(VP_DirEnt ==0 ) {return false;}
if(VB_RemoveFail==true) {return false;}
::rmdir(AP_DirName); return true;
::rmdir(AP_DirName); return true ;
//#elif defined(_REENTRANT) // && !defined(_WIN)
#else // !defined(_WIN) && !defined(_REENTRANT)
@ -4403,7 +4404,7 @@ namespace ZNsMain
//////////////////////////////////////////////////////////////////*/
while(VP_DirEnt = ::readdir(VH_File))
while((VP_DirEnt = ::readdir(VH_File))!=0)
{
const bool CB_IsNotValid = ////////////////////
(
@ -4441,13 +4442,14 @@ namespace ZNsMain
VB_RemoveFail=false;
}/*
while(VP_DirEnt = ::readdir(VH_File))*/
while((VP_DirEnt = ::readdir(VH_File))!=0)*/
::chdir(".."); ::closedir(VH_File);
if(VP_DirEnt ==0 ) return false;
if(VB_RemoveFail==true) return false;
::rmdir(AP_DirName); return true;
::rmdir(AP_DirName); return true ;
#endif //!defined(_WIN) && !defined(_REENTRANT)
}/*
@ -4528,7 +4530,7 @@ namespace ZNsMain
)
////////////////////////////////////////////
{
ZNsMain::ZNsEnum::ZERun VE_ERun=ZNsMain::ZNsEnum::ZERun_OK;
ZNsMain::ZNsEnum::ZERun VE_ERun = ZNsMain::ZNsEnum::ZERun_OK;
#if defined(_WIN)
@ -4623,7 +4625,7 @@ namespace ZNsMain
#ifdef _REENTRANT
while(::readdir_r(VH_File, &VO_DirEnt, &VP_DirEnt)==0 && VP_DirEnt!=0)
#else
while(VP_DirEnt = ::readdir(VH_File))
while((VP_DirEnt = ::readdir(VH_File))!=0)
#endif
{
const bool CB_IsNotValid =
@ -4643,7 +4645,7 @@ namespace ZNsMain
::strcat(VCA_Search , VP_DirEnt->d_name);
::strcpy(VO_CFileData.cFileName, VP_DirEnt->d_name);
if(::lstat(VCA_Search,&VO_CFileData)<0)
if(::lstat(VCA_Search, &VO_CFileData)<0)
{
throw ZCExceptDir
(
@ -4654,7 +4656,7 @@ namespace ZNsMain
return ZNsMain::ZNsEnum::ZERun_NO;
}/*
if(::lstat(VCA_Search,&VO_CFileData)<0)*/
if(::lstat(VCA_Search, &VO_CFileData)<0)*/
if(VO_CFileData.IsDir()) // S_ISDIR(VO_CFileData.st_mode))
{
@ -4694,10 +4696,18 @@ namespace ZNsMain
}/*
else // !VO_CFileData.IsDir()*/
}/*
while(VP_DirEnt = ::readdir(VH_File))*/
#ifdef _REENTRANT
while(::readdir_r(VH_File, &VO_DirEnt, &VP_DirEnt)==0 && VP_DirEnt!=0)
#else
while((VP_DirEnt = ::readdir(VH_File))!=0)
#endif
*/
::closedir(VH_File);
if(VP_DirEnt==0)
return ZNsMain::ZNsEnum::ZERun_NO;
#endif //!defined(_WIN)
return VE_ERun;
@ -4751,7 +4761,7 @@ namespace ZNsMain
ZtCTypeData<TViewDir>::GetObjRef(AR_CViewDir);
ZNsMain::ZNsEnum::ZERun VE_ERun=ZNsMain::ZNsEnum::ZERun_OK;
ZNsMain::ZNsEnum::ZERun VE_ERun = ZNsMain::ZNsEnum::ZERun_OK;
#if defined(_WIN)
@ -4834,13 +4844,15 @@ namespace ZNsMain
#ifdef _REENTRANT
while(::readdir_r(VH_File, &VO_DirEnt, &VP_DirEnt)==0 && VP_DirEnt!=0)
#else
while(VP_DirEnt=::readdir(VH_File))
while((VP_DirEnt = ::readdir(VH_File))!=0)
#endif
{
const bool CB_IsNotValid=(
::strcmp(".", VP_DirEnt->d_name)==0 ||
::strcmp("..", VP_DirEnt->d_name)==0
/*//////////*/ );
const bool CB_IsNotValid =
(
::strcmp(".", VP_DirEnt->d_name)==0 ||
::strcmp("..", VP_DirEnt->d_name)==0
);
//////////////////////////
if(CB_IsNotValid) continue;
@ -4891,10 +4903,18 @@ namespace ZNsMain
}/*
else*/
}/*
while(VP_DirEnt=::readdir(VH_File))*/
#ifdef _REENTRANT
while(::readdir_r(VH_File, &VO_DirEnt, &VP_DirEnt)==0 && VP_DirEnt!=0)
#else
while((VP_DirEnt = ::readdir(VH_File))!=0)
#endif
*/
::closedir(VH_File);
if(VP_DirEnt==0)
return ZNsMain::ZNsEnum::ZERun_NO ;
#endif //!defined(_WIN)
return VE_ERun;
@ -5005,7 +5025,7 @@ namespace ZNsMain
#ifdef _REENTRANT
while(::readdir_r(VH_File, &VO_DirEnt, &VP_DirEnt)==0 && VP_DirEnt!=0)
#else
while(VP_DirEnt= ::readdir(VH_File))
while((VP_DirEnt= ::readdir(VH_File))!=0)
#endif
{
const bool CB_IsNotValid =
@ -5063,11 +5083,11 @@ namespace ZNsMain
#ifdef _REENTRANT
while(::readdir_r(VH_File, &VO_DirEnt, &VP_DirEnt)==0 && VP_DirEnt!=0)
#else
while(VP_DirEnt= ::readdir(VH_File))
while((VP_DirEnt= ::readdir(VH_File))!=0)
#endif
*/
::closedir(VH_File);
::closedir(VH_File); if(VP_DirEnt==0) return ZERun_NO;
#endif //!defined(_WIN)
@ -5163,13 +5183,15 @@ namespace ZNsMain
#ifdef _REENTRANT
while(::readdir_r(VH_File, &VO_DirEnt, &VP_DirEnt)==0 && VP_DirEnt!=0)
#else
while(VP_DirEnt= ::readdir(VH_File))
while((VP_DirEnt= ::readdir(VH_File))!=0)
#endif
{
const bool CB_IsNotValid = (
::strcmp(".", VP_DirEnt->d_name)==0 ||
::strcmp("..", VP_DirEnt->d_name)==0
/*//////////*/ );
const bool CB_IsNotValid =
(
::strcmp(".", VP_DirEnt->d_name)==0 ||
::strcmp("..", VP_DirEnt->d_name)==0
);
//////////////////////////
if(CB_IsNotValid) continue;
@ -5212,10 +5234,17 @@ namespace ZNsMain
}/*
else*/
}/*
while((VP_DirEnt= ::readdir(VH_File))!=0)*/
#ifdef _REENTRANT
while(::readdir_r(VH_File, &VO_DirEnt, &VP_DirEnt)==0 && VP_DirEnt!=0)
#else
while((VP_DirEnt= ::readdir(VH_File))!=0)
#endif*/
::closedir(VH_File);
if(VP_DirEnt==0)
return ZNsMain::ZNsEnum::ZERun_NO ;
#endif // !defined(_WIN)
return VE_ERun;
@ -5319,7 +5348,7 @@ namespace ZNsMain
#ifdef _REENTRANT
while(::readdir_r(VH_File, &VO_DirEnt, &VP_DirEnt)==0 && VP_DirEnt!=0)
#else
while(VP_DirEnt= ::readdir(VH_File))
while((VP_DirEnt= ::readdir(VH_File))!=0)
#endif
{
const bool CB_IsNotValid=(
@ -5368,10 +5397,18 @@ namespace ZNsMain
}/*
else*/
}/*
while((VP_DirEnt=::readdir(VH_File))!=0)*/
#ifdef _REENTRANT
while(::readdir_r(VH_File, &VO_DirEnt, &VP_DirEnt)==0 && VP_DirEnt!=0)
#else
while((VP_DirEnt= ::readdir(VH_File))!=0)
#endif
*/
::closedir(VH_File);
if(VP_DirEnt==0)
return ZNsMain::ZNsEnum::ZERun_NO ;
#endif //!defined(_WIN)
return VE_ERun;
@ -5463,7 +5500,7 @@ namespace ZNsMain
#ifdef _REENTRANT
while(::readdir_r(VH_File, &VO_DirEnt, &VP_DirEnt)==0 && VP_DirEnt!=0)
#else
while(VP_DirEnt = ::readdir(VH_File))
while((VP_DirEnt = ::readdir(VH_File))!=0)
#endif
{
const bool CB_IsNotValid =
@ -5518,10 +5555,18 @@ namespace ZNsMain
}/*
else*/
}/*
while((VP_DirEnt = ::readdir(VH_File))!=0)*/
#ifdef _REENTRANT
while(::readdir_r(VH_File, &VO_DirEnt, &VP_DirEnt)==0 && VP_DirEnt!=0)
#else
while((VP_DirEnt = ::readdir(VH_File))!=0)
#endif
*/
::closedir(VH_File);
if(VP_DirEnt==0)
return ZNsMain::ZNsEnum::ZERun_NO ;
#endif // !defined(_WIN)
return VE_ERun;

View File

@ -225,6 +225,9 @@ int main(int AI_ArgCnt, char* APP_ArgVal[])*/
g++ -std=c++98 -o ZtCLoadXml_000.exe ZtCLoadXml_000.cpp -I../
g++ -std=c++98 -o ZtCLoadXml_000_D.exe ZtCLoadXml_000.cpp -I../ -D_DEBUG
g++ -std=c++98 -o ZtCLoadXml_000_r.exe ZtCLoadXml_000.cpp -I../ -D_REENTRANT
g++ -std=c++98 -o ZtCLoadXml_000_r_D.exe ZtCLoadXml_000.cpp -I../ -D_REENTRANT -D_DEBUG
sauron@q381-2673:/mnt/e/my_CPP/ZCpp/ZCppMainTest$ gcc --version
gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0