From 2c46754cb409c39425c8fd653cc697010f67e4f8 Mon Sep 17 00:00:00 2001 From: Aadhavan Srinivasan Date: Thu, 13 Apr 2023 10:26:10 -0500 Subject: [PATCH] Took 'user*' as a parameter instead of 'user', returned 'Message*' instead of 'Message' --- message.c | 22 +++++++++++++++------- message.h | 6 +++--- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/message.c b/message.c index d74374e..2cd9616 100644 --- a/message.c +++ b/message.c @@ -4,14 +4,22 @@ #include #include "message.h" -Message new_message(char* string, User from, User to) { - Message new_message; +Message* new_message(char* string, User* from, User* to) { + Message* new_message; - new_message.text = malloc((strlen(string)+1)*sizeof(char)); - strcpy(new_message.text,string); + new_message = malloc(sizeof(Message)); + new_message->text = malloc((strlen(string)+1)*sizeof(char)); + strcpy(new_message->text,string); - new_message.sender = from; - new_message.recipient = to; + new_message->sender = malloc(sizeof(User)); + new_message->recipient = malloc(sizeof(User)); + + memcpy(new_message->sender, from, sizeof(User)); + memcpy(new_message->recipient, to, sizeof(User)); + + +// *(new_message->sender) = *from; +// *(new_message->recipient) = *to; time_t rawtime; struct tm timeinfo; @@ -19,7 +27,7 @@ Message new_message(char* string, User from, User to) { time(&rawtime); timeinfo = *localtime(&rawtime); - new_message.timeinfo = timeinfo; + new_message->timeinfo = timeinfo; return new_message; diff --git a/message.h b/message.h index 5e72471..b13b7d4 100644 --- a/message.h +++ b/message.h @@ -11,10 +11,10 @@ typedef struct Message_s Message; struct Message_s { char* text; struct tm timeinfo; - User sender; - User recipient; + User* sender; + User* recipient; }; -Message new_message(char* text,User from,User to); +Message* new_message(char* text,User* from,User* to); #endif