Выбрось каку

Прошу не пинать -- прошелся поиском по сайту и нашел сто-0-олько тем про глюконат-кодевижина, что прям ой! Вобщем, пощщу (от сл. "постить") в первый попавшийся топик по глюкам.
Сегодня приспичило меня поднять старые исходники, которые я еще писал в CodeVision в хз каком мохнатом году... Думал, закопипащщу (опять, гы-гы) текст в ИАР, подправлю где надо порты/регистры и вперед! Тема-то изъезженная вдоль и поперек -- подключение текстового LCD. Чего тут думать-то!? Ан, нет! Старые грабли с новыми ручкам...
Короче, IAR обнаружил ошибку на выходе из функции. Стыдно признаться, но это так, -- моя невнимательность. Но меня другое плющит -- Codevision эту ошибку в упор не видит. Пф-ф!
Вот код функции (слегка урезанный):
Код
//
// Перевод кодировки Win-1251 в LDC-кодировку
//
BYTE _Translate(BYTE data)
{
switch (data)
{
case 'Ё':
return 0xA2;
case 'ё':
...
case '№':
return 0xCC;
case '\\':
return 0xFF;
}
if (data >= 0xC0)
return rus[data - 0xC0];
}
Для молодых поэтов поясняю -- собака порылась в последнем операторе if.
Вопрос: что будет, если data будет меньше 0xC0? Какой код вернет функция? Правльный выход из функции должен быть, разумеется, такой:
Код
...
if (data >= 0xC0)
return rus[data - 0xC0];
else
return data;
}
(Может кому пригодится. Хех!)