/*=============================================================================
函 数 名: PuOsMulMkDir
功 能:
算法实现:
全局变量:
输入参数: LPCSTR path
返 回 值: TRUE 成功 FALSE失败
=============================================================================*/
BOOL PuOsMulMkDir(const s8 * pchDirPath,mode_t mode)
{
if(!pchDirPath)
{
return FALSE;
}
if( (0==strcmp(pchDirPath,”.”)) || (0==strcmp(pchDirPath,”/”)))
{
return TRUE;
}
if(0==access(pchDirPath,F_OK))
{
return TRUE;
}
else
{
char aszTemp[256]={0};
strncpy(aszTemp,pchDirPath,256);
char pathDir[256]={0};
char *ptr=NULL;
ptr=(char *)dirname(aszTemp);
strncpy(pathDir,ptr,256);
PuOsMulMkDir(pathDir,mode);
umask(~mode);
if(mkdir(aszTemp,mode)==0)
{
//PuOsPrintf(PU_LOGLEVEL_EXCEPTION, FALSE, PU_MODULE_OSAPI,"[PuOsMulMkDir] mkdir %s success!\n",pchDirPath);
return TRUE;
}
return FALSE;
}
}