2 Commits
0.1.0 ... 0.1.2

Author SHA1 Message Date
6781ac89ad GetUserMessages bug fix 2020-09-30 15:11:32 -07:00
c80b787341 Added jetzt sender und Empfänger ins Dir 2020-09-30 13:46:28 -07:00

View File

@ -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,14 @@ 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];
if('\n' == username[strlen(username) - 1]){
username[strlen(username) - 1] = '\0';
}
strcpy(filename, username);
strcat(filename, ".bin");
filePointer = fopen(filename, "rb");
printf("\n\nstart getUserMessages() Filename: %s, Username: %s\n\n", filename, username);
if (!filePointer)
{
printf("\x1B[31User Message Speicher konnte nicht gelesen werden!\x1B[37m\n");
@ -60,17 +65,18 @@ struct msgNumberArr getUserMessages(char username[1024])
}
int i = 0;
struct msgNumberArr msgNumbersStruct;
//int msgNumberArr[1024];
//printf("Vorm while\n");
//while(!feof(filePointer))
//while (fread(&msgNumbers, sizeof(struct msgNumber), 1, filePointer))
//{
//printf("Im while\n");
fread(&msgNumbersStruct, sizeof(struct msgNumberArr),1, filePointer);
//printf("Im while\n");
fread(&msgNumbersStruct, sizeof(struct msgNumberArr), 1, filePointer);
printf("\nmsgNumberSrtruct lenght: %d\n", msgNumbersStruct.lenght);
//}
//printf("Nach dem while\n");
fclose(filePointer);
@ -79,6 +85,10 @@ struct msgNumberArr getUserMessages(char username[1024])
int addUserMessage(char username[1024], int msgNumber)
{
if('\n' == username[strlen(username) - 1]){
username[strlen(username) - 1] = '\0';
}
//username[strlen(username)-1] = "\0";
printf("addUserMessage(), username: %s, msgNumber: %d\n", username, msgNumber);
int msgNumbers[1024];
struct msgNumberArr msgNumbersStruct = getUserMessages(username);
@ -106,8 +116,8 @@ int addUserMessage(char username[1024], int msgNumber)
newNumbers[0] = msgNumber;
for (int i = 1; i <= nMsgs; i++)
{
printf("addUserMessage() msg number old: %d", msgNumbers[i-1]);
newNumbers[i] = msgNumbers[i-1];
printf("addUserMessage() msg number old: %d", msgNumbers[i - 1]);
newNumbers[i] = msgNumbers[i - 1];
}
printf("Vor dem writeUsersMessages() username: %s", username);
result = writeUsersMessages(username, newNumbers, nMsgs + 1);
@ -248,9 +258,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 +403,42 @@ 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);
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)
{