diff --git a/client/main.c b/client/main.c index 2f1226e..fe38c84 100644 --- a/client/main.c +++ b/client/main.c @@ -7,7 +7,34 @@ #include #include // read(), write(), close() #include +#include #include "config.h" +void unescape(char *buffer, size_t buf_len) +{ + int i; + bool last_is_escape = false; + for (i = 0; i < buf_len; i++) + { + if (last_is_escape) + { + switch (buffer[i]) + { + case 'n': + buffer[i - 1] = ' '; + buffer[i] = '\n'; + } + } + + if (buffer[i] == '\\') + { + last_is_escape = true; + } + else + { + last_is_escape = false; + } + } +} int main() { @@ -43,6 +70,7 @@ int main() // function for chat char clientMessage[MESSAGE_STRING_LENGTH] = {0}; recvfrom(sockfd, clientMessage, MESSAGE_STRING_LENGTH, 0, servaddr, &ss); + unescape(clientMessage, (size_t)MESSAGE_STRING_LENGTH); puts(clientMessage); // close the socket diff --git a/quotes.txt b/quotes.txt index 4acad9c..8c50954 100644 --- a/quotes.txt +++ b/quotes.txt @@ -1 +1 @@ -première ligne \n Deuxième ligne \n troixième ligne +première ligne\nDeuxième ligne\ntroixième ligne