diff --git a/src/chat/misc.c b/src/chat/misc.c index f30bfb4..7a0456a 100644 --- a/src/chat/misc.c +++ b/src/chat/misc.c @@ -163,6 +163,29 @@ void *read_socket_raw_thread(void *socket) return read_socket_raw(*(int*) socket); } +char *read_socket_from_raw(char *raw) +{ + char *final_message; + struct json_object *json_obj = json_tokener_parse(raw); + + if (json_obj == NULL) return "ERR"; //RETURN IF INVALID SYNTAX WAS SENT BY SOME FUCKING SCRIPT KIDDIE + + //GET STRINGS + char *message = get_string_from_json(json_obj, "message"); + char *username = get_string_from_json(json_obj, "username"); + + //ALLOCATE final_message + final_message = why2_calloc(strlen(message) + strlen(username) + 3, sizeof(char)); + + //BUILD final_message + sprintf(final_message, "%s: %s", username, message); + + //DEALLOCATION + json_object_put(json_obj); + + return final_message; +} + void remove_json_syntax_characters(char *text) { for (int i = 0; text[i] != '\0'; i++) //TODO: DO SOMETHING MORE