Files

66 lines
1.4 KiB
C

#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