rendered paste bodyvoid LoopDirectories(char *pPath, void (*pFunc)(char*))
{
char szCmd[256];
char szBuffer[512];
char *pTemp = NULL;
FILE *pFile = NULL;
memset(szCmd, 0, sizeof(szCmd));
snprintf(szCmd, sizeof(szCmd) - 1, "ls %s > temp", pPath);
system(szCmd);
pFile = fopen("temp", "r");
if(pFile == NULL)
{
return;
}
memset(szBuffer, 0, sizeof(szBuffer));
while(fgets(szBuffer, sizeof(szBuffer) - 1, pFile))
{
pTemp = strstr(szBuffer, "\n");
if(pTemp)
{
*pTemp = '\0';
}
pFunc(szBuffer);
memset(szBuffer, 0, sizeof(szBuffer));
}
fclose(pFile);
system("rm -f temp");
}