|
|
|
#include <easysock.h>
|
|
|
|
|
|
|
|
#include "message_helpers.h"
|
|
|
|
|
|
|
|
char* fetch_from_string(char* message, char* indicator) {
|
|
|
|
|
|
|
|
char* message_copy = malloc(strlen(message));
|
|
|
|
strcpy(message_copy,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;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
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_
|
|
|
|
}
|