[Homeros] Fwd: Ошибки в Voiceman

Michael Pozhidaev msp на altlinux.ru
Пн Сен 19 21:58:33 UTC 2011


> Компилятор clang нашёл несколько ошибок типа в твоём коде. Патч во
> вложении. Во-первых, переменная readBytes объявлена как size_t, но
> используется как знаковый тип. Во-вторых, несколько случаев
> форматирования size_t (unsigned int в моей системе) со спецификацией %lu
> (unsigned long). У меня sizeof(unsigned long) равен sizeof(unsigned
> int), но вообще-то они могут и не совпадать, так что это тоже ошибка.

Благодарю. Патч принимается, всё справедливо. Несовпадение типов в
printf и иже с ним сейчас и gcc стал с какой-то версии выдавать как
предупреждения.

> Непонятно, правда, почему для таких параметров, как freq и lengthms
> недостаточно типа int. В других случаях, наверное, тоже можно было бы
> обойтись int.

int знаковый. Все остальные рассуждения здесь уходят в русло стремления
к единообразию. Принято, что size_t - это для всего, что исчисляется
количеством. Чередовать unsigned int и size_t не стал. Массивов с
ненужными size_t, вроде бы, с другой стороны тоже не сделал. 

А вот в mainLoop.cpp - да, натуральная бага. Скорее, ошибка по
невнимательности.

-- 
Michael Pozhidaev. Tomsk, Russia.
Russian info page: http://www.marigostra.ru/


Подробная информация о списке рассылки Homeros