/* limpador do luca0N! 3 Copyright (C) 2020 luca0N! This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Contact me by e-mail via . */ #include "about.h" #include "str.h" // Because this program is currently target at Windows only, the use of ANSI colors are no longer used as of May 5, 2020. // #include "colors.h" #include #include #include #include int printLicense(int full){ if (full == 0) { printf("%s\n", LICENSE); return 0; } else { FILE* flic = fopen("./LICENSE", "r"); if (flic == NULL){ printf("%s\n", STR_ERROR_LIC); return -1; } char c; while ((c = fgetc(flic)) != EOF) { printf("%c", c); } } } void getAdditionalDirs(){ printf("%s\n", STR_FETCHING_ADD_DIRS); int dirs; dirs = GetPrivateProfileInt("Pastas", "Pastas", 3, ".\\cfg\\pastas.ini"); printf("%s %d\n", STR_DIR_COUNT, dirs); fflush(stdout); for(unsigned short x = 0; x < dirs; x++){ // TODO: Tell if item is a directory. If so, then iterate through all items on it. char dirKey[7] = "Pasta"; char* intPtr = (x + 1) + '0'; strcat(dirKey, &intPtr); _TCHAR currentPath[128]; GetPrivateProfileString("Pastas", dirKey, "null", currentPath, sizeof(currentPath) / sizeof(currentPath[0]), ".\\cfg\\pastas.ini"); printf("%s [%s] %s\n", STR_FOUND_DIR, dirKey, currentPath); cleanDir(currentPath); } } void cleanDir(const char* path){ printf("%s %s\n", STR_CLEANING_DIR, path); // Fetch files in dir WIN32_FIND_DATA data; HANDLE hFind = FindFirstFile(path, &data); unsigned int iteration = 0; if (hFind != INVALID_HANDLE_VALUE){ do{ // Ignore pseudo dirs (. and ..) iteration++; if (iteration <= 2) continue; printf("%s %s\n", STR_FOUND_ITEM, data.cFileName); } while(FindNextFile(hFind, &data)); } else { printf("%s\n", STR_FAILED_DIR_LIST); } } int main(void){ SetConsoleOutputCP(CP_UTF8); printLicense(0); printf("%s\n%s %d, %s\n", STR_LN, PROGRAM_NAME, PROGRAM_SEASON, PROGRAM_VERSION); printf("%s\n%s\n\n", PROGRAM_COPYRIGHT, STR_LN); printf("%s\n", STR_USE_WARNING); char in; fflush(stdout); scanf("%c", &in); if (in == 'w' || in == 'c') if (printLicense(1) != 0) return 0; if (in != 's' && in != 'S' && in != 'y' && in != 'Y') return 0; getAdditionalDirs(); return 0; }