Если мсье пытается плюнуть в мой огород
Никаких попыток плюнуть не было. Честно честно.

Извини код на си не увидел. Как раз то, что я после описал словами позже. Но только в прок не пошло, судя по следующему посту топикастера.
Ну и если уж пошла речь про огороды. То вот это
int is_forbidden(char c)
{
char forbidden[3] = {10, 13, 32};
int i = 0;
int found = 0;
for (i = 0; i<strlen(forbidden); ++i)
{
if( c == forbidden[i])
{
found = 1;
break;
}
}
return found;
}
лучше писать так
int is_forbidden(char c)
{
char forbidden[3] = {'\r', '\n', ' '};
int i = 0;
for (i = 0; i<sizeof(forbidden); ++i)
{
if( c == forbidden[i])
{
return 1;
}
}
return 0;
}
Бага маленькая была со стрленом

Ну и вариант с 3-мя ифами как у топикастера работать быстрее будет. Заодно можно и тему закрыть, а то флуд начался уже.