#ifndef TRANSFER_DEFINES_H #define TRANSFER_DEFINES_H #define MESSAGE_LENGTH 1500 #define TYPE_LENGTH 3 #define PAYLOAD_LENGTH MESSAGE_LENGTH - TYPE_LENGTH #define SEND_RECV_TIMEOUT 5000 #define tolower_str(word) for(size_t i = 0; i < strlen(word); i++) word[i] = tolower(word[i]); typedef enum { MAP, RED, RIP, UNSUPPORTED, } TYPE; char *sanitize_input(char *input){ if(!input) return NULL; int i = 0; char *ret = malloc(sizeof(char)); if(!ret){ // perror("[MAIN - sanitize_input] Failed to allocate memory for ret"); return NULL; } *ret = '\0'; char *it = input; while(*it && !isalpha(*it)) it++; bool writeSpace = false; while(*it){ if(isalpha(*it)){ char *tmp = NULL; if(writeSpace){ tmp = realloc(ret, i + 3); } else{ tmp = realloc(ret, i + 2); } if(!tmp){ // perror("[MAIN - sanitize_input] Failed to realloc memory for ret"); free(ret); return NULL; } ret = tmp; if(writeSpace) ret[i++] = ' '; ret[i++] = tolower(*it++); writeSpace = false; } else{ it++; writeSpace = true; } } ret[i] = '\0'; return ret; } #endif //TRANSFER_DEFINES_H