From c80b78734156fefc84d770f830eb5a963820f552 Mon Sep 17 00:00:00 2001 From: Georg Reisinger Date: Wed, 30 Sep 2020 13:46:28 -0700 Subject: [PATCH] =?UTF-8?q?Added=20jetzt=20sender=20und=20Empf=C3=A4nger?= =?UTF-8?q?=20ins=20Dir?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- myserver.c | 57 +++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 48 insertions(+), 9 deletions(-) diff --git a/myserver.c b/myserver.c index 8686462..a6a0dd9 100755 --- a/myserver.c +++ b/myserver.c @@ -24,7 +24,7 @@ int writeUsersMessages(char username[1024], int *msgNumbs, int lenght) { FILE *filePointer; printf("Start writeUsersMessages() username: %s", username); - //strcat(username, ".bin"); + strcat(username, ".bin"); filePointer = fopen(username, "wb"); /**/ if (!filePointer) @@ -48,9 +48,11 @@ int writeUsersMessages(char username[1024], int *msgNumbs, int lenght) struct msgNumberArr getUserMessages(char username[1024]) { FILE *filePointer; - strcat(username, ".bin"); - filePointer = fopen(username, "wb"); - printf("start getUserMessages()\n"); + char filename[1024]; + strcpy(filename, username); + strcat(filename, ".bin"); + filePointer = fopen(filename, "wb"); + printf("start getUserMessages() Filename: %s, Username: %s\n", filename, username); if (!filePointer) { printf("\x1B[31User Message Speicher konnte nicht gelesen werden!\x1B[37m\n"); @@ -248,9 +250,11 @@ int writeToFile(char sender[1024], char betreff[1024], char receiver[1024], char my_record.betreff = betreff; my_record.msg = message; printf("Vor useradd() in writeToFile()! sender: %s, msgnumber: %d, msg: %s, betrf: %s, empf: %s\n", sender, msgNumber, message, betreff, receiver); - int userresult = addUserMessage(sender, msgNumber); - printf("Nach useradd() in writeToFile(): %d", userresult); - if (userresult == 0) + int receiverresult = addUserMessage(receiver, msgNumber); + printf("receiverresult: %d", receiverresult); + int senderresult = addUserMessage(sender, msgNumber); + printf("senderresult: %d", senderresult); + if (senderresult == 0 || receiverresult == 0) { printf("\x1B[31mKonnte die Nachricht dem User nicht hinzufügen! Das Speichern der Nachricht wird abgebrochen!\x1B[37m\n"); return 0; @@ -391,9 +395,44 @@ int main(int argc, char **argv) break; } } - else if (strncmp(bufferString, "list", 4) == 0) + else if (strncmp(bufferString, "list", 4) == 0 || mode == 2) { - printf("LIST wurde endlich erkannt!\n"); + switch (last) + { + case 0: + last += 1; + mode = 2; + printf("\x1B[34m"); + printf("->LIST:\x1B[33m %s\x1B[37m\n", bufferString); + bufferString[0] = '\0'; + buffer[0] = '\0'; + fflush(stdout); + break; + case 1: + last = 0; + mode = 0; + printf("\x1B[34m"); + printf("->LIST->Username wurde eingegeben:\x1B[33m %s\x1B[37m\n", bufferString); + char *username; + username = strdup(bufferString); + username[strlen(username)-1] = '\0'; + printf("USERNAME: %s ENDE", username); + + + struct msgNumberArr msgNumbersStruct = getUserMessages(username); + printf("msgnumberstruct lenght: %d", msgNumbersStruct.lenght); + int msgNumbers[1024]; + for (int i = 0; i < msgNumbersStruct.lenght; i++) + { + msgNumbers[i] = msgNumbersStruct.index[i]; + printf("MSG NUMMBER IN addUserMessage(): %d\n", msgNumbers[i]); + } + + bufferString[0] = '\0'; + buffer[0] = '\0'; + fflush(stdout); + break; + } } else if (strncmp(bufferString, "read", 4) == 0) {