Правильно так, как правильноForsio писал(а):Так как же всё таки будет правильно уже?
Если работать с битами, то проверка должна быть именно их:
if (flags & FLAG_END_RX)
или более длинная запись, если вдруг у компилятора беда с приведением к логическим типам (бывает и такое)
if ((flags & FLAG_END_RX) == FLAG_END_RX)
Если же использовать if (flags == FLAG_END_RX)
то, во-первых, надо переименовать flags во flag, потому что она будет содержать лишь один флаг, а во-вторых присваить ей флаг полностью: flag = FLAG_END_RX, а не делать OR, как у Вас.


