diff --git a/cfg/cfg.ini b/cfg/cfg.ini index 96fd3c0..e458b4f 100644 --- a/cfg/cfg.ini +++ b/cfg/cfg.ini @@ -23,15 +23,25 @@ ; ; ALERTA! ; -; O limpador do luca0N! vai limpar as pastas especificadas abaixo. +; O limpador do luca0N! vai limpar as pastas especificadas abaixo, apagando todos os arquivos e pastas que o ldl3 tiver acesso contidos nela. ; Tome cuidado! Certifique-se de que nenhuma pasta indesejada esteja listada abaixo. ; Após execução, não será possível restaurar os arquivos removidos. +; VERIFIQUE ERROS DE SINTAXE. VOCÊ PODE ACABAR PERMANENTEMENTE REMOVENDO ARQUIVOS INDESEJADOS! ; +[Geral] +; AVISO! Altere o valor de "ModoSeguro" para 1 para fazer com que o ldl3 NÃO delete nada. O modo seguro é útil caso você queira verificar como o ldl3 vai interpretar os caminhos que você inseriu. +; É altamente recomendado que você utilize esse modo após inserir um novo caminho para ver se nenhuma pasta indesejada seja interpretada pelo ldl3. +ModoSeguro=1 [Pastas] -; Formato necessário: \ +; Este é a quantidade de pastas que você deseja fazer com que o ldl3 limpe. Pastas=3 -Pasta1=%tmp% + +; Liste abaixo o caminho das pastas desejadas no seguinte formato: +; PastaX=(caminho)\ +; SEMPRE finalize caminhos com a barra invertida "\". +; Variáveis de sistema são suportados. Por exemplo: %tmp%\ +Pasta1=%tmp%\ Pasta2=C:\Windows\Temp\ Pasta3=C:\Windows\Prefetch\ diff --git a/main.c b/main.c index 7b2ba70..45ed617 100644 --- a/main.c +++ b/main.c @@ -77,7 +77,7 @@ int printLicense(int full){ } // Gets the user defined directories -void getAdditionalDirs(){ +void getAdditionalDirs(bool safeMode){ printf("\n%s\n", STR_FETCHING_ADD_DIRS); int dirs; dirs = GetPrivateProfileInt("Pastas", "Pastas", 3, PATH_CFG); @@ -155,13 +155,17 @@ void getAdditionalDirs(){ printf("%s [%s] %s\n", STR_FOUND_DIR, dirKey, buffer); - //cleanDir(varResBuffer); + if (!safeMode) + cleanDir(buffer); + free(buffer); + free(varBuffer); continue; } printf("%s [%s] %s\n", STR_FOUND_DIR, dirKey, currentPath); - //cleanDir(currentPath); + if (!safeMode) + cleanDir(currentPath); } } @@ -246,6 +250,9 @@ int main(void){ if (in != 's' && in != 'S' && in != 'y' && in != 'Y') return 0; } - getAdditionalDirs(); + + unsigned int safeMode = GetPrivateProfileInt("Geral", "ModoSeguro", 1, PATH_CFG); + + getAdditionalDirs(safeMode); return 0; } \ No newline at end of file