diff --git a/message_helpers.c b/message_helpers.c index a7ffbc1..70e897b 100644 --- a/message_helpers.c +++ b/message_helpers.c @@ -2,36 +2,44 @@ #include "message_helpers.h" -char* fetch_dest_user_string(char* message) { - char* token = malloc (sizeof(char) * strlen(message)); - token = strtok(message," \r\n"); - if (strcmp(token,"TO:") == 0) { - token = strtok(NULL," \r\n"); - } else { - return NULL; - } - - return token; -} +char* fetch_from_string(char* message, char* indicator) { -char* fetch_sender_user_string(char* message) { - fetch_generic_string("IAM",message); -} + char* message_copy = malloc(strlen(message)); + strcpy(message_copy,message); -char* fetch_generic_string(char* indicator, char* message) { - char* token = malloc (sizeof(char) * strlen(message)); + char* token = malloc (sizeof(char) * strlen(message_copy)); char* string_to_search = malloc(strlen(indicator) + 1); strcpy(string_to_search,indicator); strcat(string_to_search,":"); + token = strtok(message_copy," r\n"); + while (strcmp(token,string_to_search) != 0) { + token = strtok(NULL," \r\n"); + if (token == NULL) { + return NULL; + } + } + token = strtok(NULL," \r\n"); + return token; - token = strtok(message," r\n"); - if (strcmp(token,string_to_search) == 0) { - token = strtok(NULL," \r\n"); - } else { - return NULL; - } +} - return token; +char* fetch_message_string(char* message) { + char* start = strstr(message,"START_OF_MESSAGE"); + if (start == NULL) { + return NULL; + } + int start_index = start - message; + + char* end = strstr(message,"END_OF_MESSAGE"); + if (end == NULL) { + return NULL; + } + int end_index = end - message; + + int message_length = end_index - start_index; + char* message_string = malloc(message_length + 1); + for (int i=0;i < message_length; i++) { + *(message_string + i) = *(message_ } diff --git a/message_helpers.h b/message_helpers.h index 2a94b3c..3be12bd 100644 --- a/message_helpers.h +++ b/message_helpers.h @@ -1,21 +1,12 @@ - -/* If the message contains a string of the form: -TO: -then return 'Username' */ -char* fetch_dest_user_string(char* message); - -/* If the message contains a string of the form: -IAM: -then return 'Username' */ -char* fetch_sender_user_string(char* message); - /* If the message contains a string of the form: : Then return 'value' */ -char* fetch_generic_string(char* indicator, char* message); +char* fetch_from_string(char* message, char* indicator); /* If the message contains a string of the form: START_OF_MESSAGE END_OF_MESSAGE +Then return */ +char* fetch_message_string(char* message);