From c126ae749a6224ab78cf1846ef82762c98b3e842 Mon Sep 17 00:00:00 2001 From: germanFid Date: Thu, 23 Jun 2022 06:38:03 +0300 Subject: [PATCH] Add rm command --- handler.h | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/handler.h b/handler.h index 5c1ba09..34e4819 100644 --- a/handler.h +++ b/handler.h @@ -91,16 +91,18 @@ int checkMajorArgumentValid(char *argument, Folder *RootFolder, Folder *CurrentF while (istr != NULL) { foundFlag = 1; - for (size_t i = 0; i < CurrentFolder->folders_count_cur; i++) + for (size_t i = 0; i < ptr->folders_count_cur; i++) { - if (!strcmp(CurrentFolder->folders[i].filename, istr)) + if (!strcmp(ptr->folders[i].filename, istr)) { foundFlag = 0; - ptr = &CurrentFolder->folders[i]; + ptr = &ptr->folders[i]; break; } } + printf("ptr: %s\n", ptr->filename); + if (foundFlag) { int isFileFlag = 0; @@ -117,7 +119,7 @@ int checkMajorArgumentValid(char *argument, Folder *RootFolder, Folder *CurrentF { char *filename = (char *)malloc(filename_lenth + 1); char *extension = (char *)malloc(extinsion_lenth + 1); - int extFlag = 0; + int extFlag = 1; int writeCount = 0; @@ -125,7 +127,7 @@ int checkMajorArgumentValid(char *argument, Folder *RootFolder, Folder *CurrentF { if (istr[i] == '.') { - extFlag = 1; + extFlag = 0; filename[writeCount + 1] = '\0'; writeCount = 0; continue; @@ -256,11 +258,14 @@ int executeCommand(char *command, char *minorArg, Folder *majorArgFolder, File * if (!majorArgIsFolder) { // Работаем с файлом, удаление MajorArgFile + delete_file(majorArgFile); } else { // Работаем с папкой, рекурсивное удаление MajorArgFolder + printf("=== %s\n", majorArgFolder->filename); + delete_folder(majorArgFolder); } return SUCCESS;