Voici les états (j'en ai peut-être oublié un ou deux) :
enum State {
STATE_READ_ID,
STATE_CHECK_ID,
STATE_READ_CODE,
STATE_SET_NAMESPACE,
STATE_ALLOC_BUFFER,
STATE_SEARCH_ID,
STATE_SELECT_BUFFER,
STATE_SKIP_DATA_LEN,
STATE_SEARCH_CODE,
STATE_READ_LEN,
STATE_SKIP_DATA,
STATE_SET_PTR,
STATE_END_DATA,
STATE_READ_DATA,
STATE_SET_LEN,
STATE_REALLOC_BUFFER,
STATE_WRITE_ID,
STATE_WRITE_CODE,
STATE_WRITE_LEN,
STATE_WRITE_DATA,
STATE_WRITE_DATA_LEN,
STATE_END_STR,
STATE_DONE,
STATE_ERROR
};
Pourquoi une machine à états ? Je pensais que cela m'aurait aidé à parcourir la mémoire tampon à la recherche d'une option existante.