LINUX.ORG.RU

История изменений

Исправление LINUX-ORG-RU, (текущая версия) :

Если нельзя вставить туда, то придётся вставит себе, в смысле вычислять динамически момент когда данные пошли ну точно корректные типа

while(true) /* входим в основной цикл чтения*/
{
    while(true) /* тут же перехватываем его и вычисляем точно точно правильное*/
    {  
        buff[i++] = get_byte(stream_data)
        if (i >= buff_size) 
        {
            if (data_is_correct(buff))
            {  /*как только узнали что всё пришло верное*/
               int x = 0
               /*передаём что набрали в основную обработку*/
               while(x++ != i)
               {
                  collect_input_data(buff[x])
               }
               /* валим сразу после этого от сюда*/
               break
            }else{
              /* не прошло проверку, в помойку и по новой */
              i = 0
              memset(buff,0,buff_size)
            }
        }
    }
    /*и уже продолжаем получать дальше всё как надо*/
    collect_input_data(get_byte(stream_data))
    ...
}
  • Либо ты должен мочь вычислить правильность данных на приёме
  • Либо ты должен мочь сказать где что на отдаче

Что удобнее то и сделать. Первое гибче, второе проще.

Исходная версия LINUX-ORG-RU, :

Если нельзя вставить туда, то придётся вставит себе, в смысле вычислять динамически момент когда данные пошли ну точно корректные типа

while(true) /* входим в основной цикл чтения*/
{
    while(true) /* тут же перехватываем его и вычисляем точно точно правильное*/
    {  
        buff[i++] = get_byte(stream_data)
        if (i >= buff_size) 
        {
            if (data_is_correct(buff))
            {  /*как только узнали что всё пришло верное*/
               int x = 0
               /*передаём что набрали в основную обработку*/
               while(x++ != i)
               {
                  collect_input_data(buff[x])
               }
               /* валим сразу после этого от сюда*/
               break
            }else{
              /* не прошло проверку, в помойку и по новой */
              i = 0
              memset(buff,0,buff_size)
            }
        }
    }
    /*и уже продолжаем получать дальше всё как надо*/
    collect_input_data(get_byte(stream_data))
    ...
}