Расскажу, почему вам нужно отказаться от bool и Option. На примерах Rust покажу, как описать режимы и состояния через enum, чтобы код было проще читать, а компилятор не позволял создавать недопустимые состояния. Читать далее
Недавно читали код и наткнулись на примерно такой такой фрагмент. bool *t = new bool[X][Y]; // много строк switch (t[M][N]) { case true: // много строк break; case false: // много строк break; default: // много строк break; } Сразу возникает вопрос: зачем нужна ветка default? Если переменная не равна true, то она равна false. Однокурсник сказал: «Для отладки». Думаю: что тут можно отлаживать? Но не всё так просто. Читать дальше →
Memory leaks were discovered in the CoAP library in Arm Mbed OS 5.15.3 when using the Arm mbed-coap library 5.1.5. The CoAP parser is responsible for parsing received CoAP packets. The function sn_coap_parser_options_parse() parses the CoAP option number field of all options present in the input packet. Each option number is calculated as a sum of the previous option number and a delta of the current option. The delta and the previous option number are expressed as unsigned 16-bit integers. Due to lack of…
Признаюсь, я питаю слабость к классическому DOOM. Игре уже 31 год, но благодаря открытому исходному коду она живёт на всём — от смартфонов до осциллографов. В силу разных обстоятельств я стал сопровождать несколько пакетов, связанных с DOOM, в Fedora Linux. Перед каждым релизом Fedora проводит массовую пересборку всех пакетов — и в этот раз chocolate-doom её не пережил. Виновник этому — маленький bool. Читать далее