From f372af3cc3454f7309f191bbd5d12d6c6ae15ab5 Mon Sep 17 00:00:00 2001 From: tsousa111 Date: Sun, 12 May 2024 23:04:01 +0100 Subject: [PATCH] fix: groupID wrong type, function headers --- test/message_cli.c | 264 ++++++++++++++++++++++----------------------- 1 file changed, 132 insertions(+), 132 deletions(-) diff --git a/test/message_cli.c b/test/message_cli.c index 6fedbf0..2cdbb8c 100644 --- a/test/message_cli.c +++ b/test/message_cli.c @@ -1,172 +1,172 @@ +#include #include #include -#include -#include -#include -#include #include +#include +#include #include +#include + +void displayMessagesFromSender(char *senderDir); +void displayMessage(char *senderDir, char *filename); void displayHeader() { - printf("╭━━━╮╱╱╱╱╱╱╭╮\n"); - printf("╰╮╭╮┣╮╱╱╱╱╱┃┃\n"); - printf("╱┃┃┃┣╋╮╭┳╮╭┫╰━┳━━┳╮\n"); - printf("╱┃┃┃┣┫┃┃┃╰╯┃╭╮┃╭╮┣┫\n"); - printf("╭╯╰╯┃┃╰╯┃┃┃┃╰╯┃╭╮┃┃\n"); - printf("╰━━━┫┣━━┻┻┻┻━━┻╯╰┻╯\n"); - printf("╱╱╱╭╯┃\n"); - printf("╱╱╱╰━╯\n"); + printf("╭━━━╮╱╱╱╱╱╱╭╮\n"); + printf("╰╮╭╮┣╮╱╱╱╱╱┃┃\n"); + printf("╱┃┃┃┣╋╮╭┳╮╭┫╰━┳━━┳╮\n"); + printf("╱┃┃┃┣┫┃┃┃╰╯┃╭╮┃╭╮┣┫\n"); + printf("╭╯╰╯┃┃╰╯┃┃┃┃╰╯┃╭╮┃┃\n"); + printf("╰━━━┫┣━━┻┻┻┻━━┻╯╰┻╯\n"); + printf("╱╱╱╭╯┃\n"); + printf("╱╱╱╰━╯\n"); } void displayAllMessages(uid_t userID) { - char userDir[256]; - sprintf(userDir, "/djumbai/user/%d/mailbox", userID); // Construct user directory path - // sprintf(userDir, "/mnt/e/Desktop/CSI/djumbai/test/%d/mailbox", userID); // TODO MUDAR ESTE PATH - DIR *dir; - struct dirent *entry; + char userDir[256]; + sprintf(userDir, "/djumbai/user/%d/mailbox", userID); // Construct user directory path + // sprintf(userDir, "/mnt/e/Desktop/CSI/djumbai/test/%d/mailbox", userID); // TODO MUDAR ESTE + // PATH + DIR *dir; + struct dirent *entry; - printf("Reading all messages for UserID %d...\n", userID); + printf("Reading all messages for UserID %d...\n", userID); - dir = opendir(userDir); - if (dir == NULL) { - printf("Error opening directory\n"); - return; - } + dir = opendir(userDir); + if (dir == NULL) { + printf("Error opening directory\n"); + return; + } - while ((entry = readdir(dir)) != NULL) { - if (entry->d_type == DT_DIR && strcmp(entry->d_name, ".") != 0 && strcmp(entry->d_name, "..") != 0) { - char senderDir[256]; - sprintf(senderDir, "%s/%s", userDir, entry->d_name); // Construct sender directory path - displayMessagesFromSender(senderDir); - } - } + while ((entry = readdir(dir)) != NULL) { + if (entry->d_type == DT_DIR && strcmp(entry->d_name, ".") != 0 && + strcmp(entry->d_name, "..") != 0) { + char senderDir[256]; + sprintf(senderDir, "%s/%s", userDir, entry->d_name); // Construct sender directory path + displayMessagesFromSender(senderDir); + } + } - closedir(dir); + closedir(dir); } +void displayGroupMessages(gid_t groupID) { + char groupDir[256]; + sprintf(groupDir, "/djumbai/group/%d/mailbox", groupID); + DIR *dir; + struct dirent *entry; + printf("Reading all messages for GroupID %d...\n", groupID); -void displayGroupMessages(uid_t groupID) { - char groupDir[256]; - sprintf(groupDir, "/djumbai/group/%d/mailbox", groupID); - DIR *dir; - struct dirent *entry; + dir = opendir(groupDir); + if (dir == NULL) { + printf("Error opening directory\n"); + return; + } - printf("Reading all messages for GroupID %d...\n", groupID); + while ((entry = readdir(dir)) != NULL) { + if (entry->d_type == DT_DIR && strcmp(entry->d_name, ".") != 0 && + strcmp(entry->d_name, "..") != 0) { + char senderDir[256]; + sprintf(senderDir, "%s/%s", groupDir, entry->d_name); // Construct sender directory path + displayMessagesFromSender(senderDir); + } + } - dir = opendir(groupDir); - if (dir == NULL) { - printf("Error opening directory\n"); - return; - } - - while ((entry = readdir(dir)) != NULL) { - if (entry->d_type == DT_DIR && strcmp(entry->d_name, ".") != 0 && strcmp(entry->d_name, "..") != 0) { - char senderDir[256]; - sprintf(senderDir, "%s/%s", groupDir, entry->d_name); // Construct sender directory path - displayMessagesFromSender(senderDir); - } - } - - closedir(dir); + closedir(dir); } - - - void displayMessagesFromSender(char *senderDir) { - char *senderName = strrchr(senderDir, '/'); // Find the last occurrence of '/' - if (senderName == NULL) { - printf("Error parsing sender directory\n"); - return; - } - senderName++; // Move past the '/' + char *senderName = strrchr(senderDir, '/'); // Find the last occurrence of '/' + if (senderName == NULL) { + printf("Error parsing sender directory\n"); + return; + } + senderName++; // Move past the '/' - DIR *dir; - struct dirent *entry; + DIR *dir; + struct dirent *entry; - printf("Reading messages from sender %s...\n", senderName); + printf("Reading messages from sender %s...\n", senderName); - dir = opendir(senderDir); - if (dir == NULL) { - printf("Error opening directory\n"); - return; - } + dir = opendir(senderDir); + if (dir == NULL) { + printf("Error opening directory\n"); + return; + } - while ((entry = readdir(dir)) != NULL) { - if (entry->d_type == DT_REG) { // If it's a regular file - displayMessage(senderDir, entry->d_name); - } - } + while ((entry = readdir(dir)) != NULL) { + if (entry->d_type == DT_REG) { // If it's a regular file + displayMessage(senderDir, entry->d_name); + } + } - closedir(dir); + closedir(dir); } - - void displayMessage(char *senderDir, char *filename) { - char filepath[256]; - sprintf(filepath, "%s/%s", senderDir, filename); - FILE *file = fopen(filepath, "r"); - if (file == NULL) { - printf("Error opening file: %s\n", filename); - return; - } + char filepath[256]; + sprintf(filepath, "%s/%s", senderDir, filename); + FILE *file = fopen(filepath, "r"); + if (file == NULL) { + printf("Error opening file: %s\n", filename); + return; + } - printf("----- %s -----\n", filename); - char buffer[256]; - while (fgets(buffer, sizeof(buffer), file)) { - printf("%s", buffer); - } - printf("----- End of %s -----\n", filename); + printf("----- %s -----\n", filename); + char buffer[256]; + while (fgets(buffer, sizeof(buffer), file)) { + printf("%s", buffer); + } + printf("----- End of %s -----\n", filename); - fclose(file); + fclose(file); } int main() { - int choice; - char sender[20]; - char groupID[20]; + int choice; + char sender[20]; + char group[20]; - displayHeader(); + displayHeader(); - while(1) { - printf("\nCurrent UserID: %d\n", getuid()); - printf("Options:\n"); - printf("1. all (read all messages)\n"); - printf("2. user -userID_here (read messages from given userID)\n"); - printf("3. group -groupID_here\n"); - printf("4. kill (exit the program)\n"); - printf("Enter your choice: "); - scanf("%d", &choice); + while (1) { + printf("\nCurrent UserID: %d\n", getuid()); + printf("Options:\n"); + printf("1. all (read all messages)\n"); + printf("2. user -userID_here (read messages from given userID)\n"); + printf("3. group -groupID_here\n"); + printf("4. kill (exit the program)\n"); + printf("Enter your choice: "); + scanf("%d", &choice); - switch(choice) { - case 1: - displayAllMessages(getuid()); - break; - case 2: - printf("Enter sender userID: "); - scanf("%s", sender); - - uid_t senderID = atoi(sender); - char userDir[256]; - sprintf(userDir, "/djumbai/user/%d/mailbox/%d", getuid(), senderID); - displayMessagesFromSender(userDir); - - break; - case 3: - printf("Enter groupID: "); - scanf("%s", groupID); - displayGroupMessages(groupID); - printf("Group messages functionality is not implemented yet.\n"); - break; - case 4: - printf("Exiting program...\n"); - exit(0); - default: - printf("Invalid choice. Please try again.\n"); - } - } + switch (choice) { + case 1: + displayAllMessages(getuid()); + break; + case 2: + printf("Enter sender userID: "); + scanf("%s", sender); - return 0; + uid_t senderID = atoi(sender); + char userDir[256]; + sprintf(userDir, "/djumbai/user/%d/mailbox/%d", getuid(), senderID); + displayMessagesFromSender(userDir); + + break; + case 3: + printf("Enter groupID: "); + scanf("%s", group); + gid_t groupID = atoi(group); + displayGroupMessages(groupID); + printf("Group messages functionality is not implemented yet.\n"); + break; + case 4: + printf("Exiting program...\n"); + exit(0); + default: + printf("Invalid choice. Please try again.\n"); + } + } + + return 0; }