文字数えて最後の文字調べればよろし。
こんなかんじ。

void chomp(char *str)
{
 int len;
 if (str && ((len = strlen(str)) >= 1)) {
  if (str[len-1] == `\n`)
   str[len] = `\0`;
 }
}

あと、君のsourceだと一行256以上だと破綻するってのは判ってるよね?