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,7 +4368,8 @@ namespace ZNsMain
::chdir(".."); ::closedir(VH_File); ::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 ;
@ -4403,7 +4404,7 @@ namespace ZNsMain
//////////////////////////////////////////////////////////////////*/ //////////////////////////////////////////////////////////////////*/
while(VP_DirEnt = ::readdir(VH_File)) while((VP_DirEnt = ::readdir(VH_File))!=0)
{ {
const bool CB_IsNotValid = //////////////////// const bool CB_IsNotValid = ////////////////////
( (
@ -4441,10 +4442,11 @@ namespace ZNsMain
VB_RemoveFail=false; VB_RemoveFail=false;
}/* }/*
while(VP_DirEnt = ::readdir(VH_File))*/ while((VP_DirEnt = ::readdir(VH_File))!=0)*/
::chdir(".."); ::closedir(VH_File); ::chdir(".."); ::closedir(VH_File);
if(VP_DirEnt ==0 ) return false;
if(VB_RemoveFail==true) return false; if(VB_RemoveFail==true) return false;
::rmdir(AP_DirName); return true ; ::rmdir(AP_DirName); return true ;
@ -4623,7 +4625,7 @@ namespace ZNsMain
#ifdef _REENTRANT #ifdef _REENTRANT
while(::readdir_r(VH_File, &VO_DirEnt, &VP_DirEnt)==0 && VP_DirEnt!=0) while(::readdir_r(VH_File, &VO_DirEnt, &VP_DirEnt)==0 && VP_DirEnt!=0)
#else #else
while(VP_DirEnt = ::readdir(VH_File)) while((VP_DirEnt = ::readdir(VH_File))!=0)
#endif #endif
{ {
const bool CB_IsNotValid = const bool CB_IsNotValid =
@ -4694,10 +4696,18 @@ namespace ZNsMain
}/* }/*
else // !VO_CFileData.IsDir()*/ 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); ::closedir(VH_File);
if(VP_DirEnt==0)
return ZNsMain::ZNsEnum::ZERun_NO;
#endif //!defined(_WIN) #endif //!defined(_WIN)
return VE_ERun; return VE_ERun;
@ -4834,13 +4844,15 @@ namespace ZNsMain
#ifdef _REENTRANT #ifdef _REENTRANT
while(::readdir_r(VH_File, &VO_DirEnt, &VP_DirEnt)==0 && VP_DirEnt!=0) while(::readdir_r(VH_File, &VO_DirEnt, &VP_DirEnt)==0 && VP_DirEnt!=0)
#else #else
while(VP_DirEnt=::readdir(VH_File)) while((VP_DirEnt = ::readdir(VH_File))!=0)
#endif #endif
{ {
const bool CB_IsNotValid=( const bool CB_IsNotValid =
(
::strcmp(".", VP_DirEnt->d_name)==0 || ::strcmp(".", VP_DirEnt->d_name)==0 ||
::strcmp("..", VP_DirEnt->d_name)==0 ::strcmp("..", VP_DirEnt->d_name)==0
/*//////////*/ ); );
//////////////////////////
if(CB_IsNotValid) continue; if(CB_IsNotValid) continue;
@ -4891,10 +4903,18 @@ namespace ZNsMain
}/* }/*
else*/ 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); ::closedir(VH_File);
if(VP_DirEnt==0)
return ZNsMain::ZNsEnum::ZERun_NO ;
#endif //!defined(_WIN) #endif //!defined(_WIN)
return VE_ERun; return VE_ERun;
@ -5005,7 +5025,7 @@ namespace ZNsMain
#ifdef _REENTRANT #ifdef _REENTRANT
while(::readdir_r(VH_File, &VO_DirEnt, &VP_DirEnt)==0 && VP_DirEnt!=0) while(::readdir_r(VH_File, &VO_DirEnt, &VP_DirEnt)==0 && VP_DirEnt!=0)
#else #else
while(VP_DirEnt= ::readdir(VH_File)) while((VP_DirEnt= ::readdir(VH_File))!=0)
#endif #endif
{ {
const bool CB_IsNotValid = const bool CB_IsNotValid =
@ -5063,11 +5083,11 @@ namespace ZNsMain
#ifdef _REENTRANT #ifdef _REENTRANT
while(::readdir_r(VH_File, &VO_DirEnt, &VP_DirEnt)==0 && VP_DirEnt!=0) while(::readdir_r(VH_File, &VO_DirEnt, &VP_DirEnt)==0 && VP_DirEnt!=0)
#else #else
while(VP_DirEnt= ::readdir(VH_File)) while((VP_DirEnt= ::readdir(VH_File))!=0)
#endif #endif
*/ */
::closedir(VH_File); ::closedir(VH_File); if(VP_DirEnt==0) return ZERun_NO;
#endif //!defined(_WIN) #endif //!defined(_WIN)
@ -5163,13 +5183,15 @@ namespace ZNsMain
#ifdef _REENTRANT #ifdef _REENTRANT
while(::readdir_r(VH_File, &VO_DirEnt, &VP_DirEnt)==0 && VP_DirEnt!=0) while(::readdir_r(VH_File, &VO_DirEnt, &VP_DirEnt)==0 && VP_DirEnt!=0)
#else #else
while(VP_DirEnt= ::readdir(VH_File)) while((VP_DirEnt= ::readdir(VH_File))!=0)
#endif #endif
{ {
const bool CB_IsNotValid = ( const bool CB_IsNotValid =
(
::strcmp(".", VP_DirEnt->d_name)==0 || ::strcmp(".", VP_DirEnt->d_name)==0 ||
::strcmp("..", VP_DirEnt->d_name)==0 ::strcmp("..", VP_DirEnt->d_name)==0
/*//////////*/ ); );
//////////////////////////
if(CB_IsNotValid) continue; if(CB_IsNotValid) continue;
@ -5212,10 +5234,17 @@ namespace ZNsMain
}/* }/*
else*/ 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); ::closedir(VH_File);
if(VP_DirEnt==0)
return ZNsMain::ZNsEnum::ZERun_NO ;
#endif // !defined(_WIN) #endif // !defined(_WIN)
return VE_ERun; return VE_ERun;
@ -5319,7 +5348,7 @@ namespace ZNsMain
#ifdef _REENTRANT #ifdef _REENTRANT
while(::readdir_r(VH_File, &VO_DirEnt, &VP_DirEnt)==0 && VP_DirEnt!=0) while(::readdir_r(VH_File, &VO_DirEnt, &VP_DirEnt)==0 && VP_DirEnt!=0)
#else #else
while(VP_DirEnt= ::readdir(VH_File)) while((VP_DirEnt= ::readdir(VH_File))!=0)
#endif #endif
{ {
const bool CB_IsNotValid=( const bool CB_IsNotValid=(
@ -5368,10 +5397,18 @@ namespace ZNsMain
}/* }/*
else*/ 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); ::closedir(VH_File);
if(VP_DirEnt==0)
return ZNsMain::ZNsEnum::ZERun_NO ;
#endif //!defined(_WIN) #endif //!defined(_WIN)
return VE_ERun; return VE_ERun;
@ -5463,7 +5500,7 @@ namespace ZNsMain
#ifdef _REENTRANT #ifdef _REENTRANT
while(::readdir_r(VH_File, &VO_DirEnt, &VP_DirEnt)==0 && VP_DirEnt!=0) while(::readdir_r(VH_File, &VO_DirEnt, &VP_DirEnt)==0 && VP_DirEnt!=0)
#else #else
while(VP_DirEnt = ::readdir(VH_File)) while((VP_DirEnt = ::readdir(VH_File))!=0)
#endif #endif
{ {
const bool CB_IsNotValid = const bool CB_IsNotValid =
@ -5518,10 +5555,18 @@ namespace ZNsMain
}/* }/*
else*/ 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); ::closedir(VH_File);
if(VP_DirEnt==0)
return ZNsMain::ZNsEnum::ZERun_NO ;
#endif // !defined(_WIN) #endif // !defined(_WIN)
return VE_ERun; 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.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_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 sauron@q381-2673:/mnt/e/my_CPP/ZCpp/ZCppMainTest$ gcc --version
gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0 gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0