Вести с полей

Выложены обновления IBProvider v5.5.1 и «LCPI OLE DB Services» v1.9.

Предмет гордости — «LCPI OLE DB Services» собирается с нулевым количеством предупреждений 4-го уровня. Четвертого, Карл!

Аналогичный подвиг в отношении IBProvider не осилил. Нужно будет думать. Зато изничтожил все предупреждения третьего уровня.

Из «интересностей» — устранение предупреждений в коде вида:

char* b;
char* e;
//....
std::fill(b,e,0); //<--- приведение int (0) к char

Заменил 0 на structure::zero — это «волшебный» объект, который возвращает ноль нужного типа. Типа std::nullptr.

std::fill(b,e,structure::zero);

Схожие проблемы есть с -1. Для этого числа в библиотеке есть structure::negative_one.

Еще подчистил иерархию классов исключений в библиотеке — обнаружились какие-то непонятные задумки и «оптимизации» молодости.

В целом, сборка с 4-ым уровнем предупреждений — это очень неплохой способ оценки кода. Рекомендую.

Поскольку сюда заглядывают боги, добавлю, что выпуск был протестирован с Firebird 3.0.5.33139, в который попал отрефакторенный SHA2.

Leave a Comment