commit 2025-08-25 15:51 refine codes about readdir_r() and readdir() in ZCppMain/ZMainHead.H
This commit is contained in:
@ -4368,9 +4368,10 @@ 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 ;
|
||||||
|
|
||||||
//#elif defined(_REENTRANT) // && !defined(_WIN)
|
//#elif defined(_REENTRANT) // && !defined(_WIN)
|
||||||
#else // !defined(_WIN) && !defined(_REENTRANT)
|
#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 = ////////////////////
|
const bool CB_IsNotValid = ////////////////////
|
||||||
(
|
(
|
||||||
@ -4441,13 +4442,14 @@ 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 ;
|
||||||
|
|
||||||
#endif //!defined(_WIN) && !defined(_REENTRANT)
|
#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)
|
#if defined(_WIN)
|
||||||
|
|
||||||
@ -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 =
|
||||||
@ -4643,7 +4645,7 @@ namespace ZNsMain
|
|||||||
::strcat(VCA_Search , VP_DirEnt->d_name);
|
::strcat(VCA_Search , VP_DirEnt->d_name);
|
||||||
::strcpy(VO_CFileData.cFileName, 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
|
throw ZCExceptDir
|
||||||
(
|
(
|
||||||
@ -4654,7 +4656,7 @@ namespace ZNsMain
|
|||||||
|
|
||||||
return ZNsMain::ZNsEnum::ZERun_NO;
|
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))
|
if(VO_CFileData.IsDir()) // S_ISDIR(VO_CFileData.st_mode))
|
||||||
{
|
{
|
||||||
@ -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;
|
||||||
@ -4751,7 +4761,7 @@ namespace ZNsMain
|
|||||||
ZtCTypeData<TViewDir>::GetObjRef(AR_CViewDir);
|
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)
|
#if defined(_WIN)
|
||||||
|
|
||||||
@ -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;
|
||||||
|
@ -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
|
||||||
|
Reference in New Issue
Block a user