#include char tampon[1020]; char log_dispo[1020]={'\0'}; unsigned int index_tampon=0; void log_analyse_input_string(const char * input_data, unsigned int str_len){ // On charge les données dans le tampon // Si on a un message complet, on charge dans log dispo (s'il y a la place) static int copy = 0; for(int i=0; i< str_len; i++){ if(input_data[i] == '>'){ copy = 1; } if(copy == 1){ tampon[index_tampon] = input_data[i]; index_tampon++; if(input_data[i] == '\n'){ copy = 0; tampon[index_tampon] = '\0'; strcat(log_dispo, tampon); index_tampon=0; } } } } // On renvoi la chaine et on remet log_dispo à 0; void log_get(char * chaine){ strcpy(chaine, log_dispo); log_dispo[0] = '\0'; }